diff options
author | sijanec <sijanecantonluka@gmail.com> | 2020-12-08 00:18:37 +0100 |
---|---|---|
committer | sijanec <sijanecantonluka@gmail.com> | 2020-12-08 00:18:37 +0100 |
commit | bcb05e675c287755a2be90723fc214281f3c4278 (patch) | |
tree | 9911b49c064d8ff6e01387e6edda4ed8d04b36d8 /mat/euler/16/prog.c | |
parent | advent 4 fix, remove debug (diff) | |
download | sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar.gz sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar.bz2 sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar.lz sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar.xz sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.tar.zst sola-gimb-2-bcb05e675c287755a2be90723fc214281f3c4278.zip |
Diffstat (limited to 'mat/euler/16/prog.c')
-rw-r--r-- | mat/euler/16/prog.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mat/euler/16/prog.c b/mat/euler/16/prog.c new file mode 100644 index 0000000..5a2d7f3 --- /dev/null +++ b/mat/euler/16/prog.c @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <stdlib.h> +#define DISABLE_LIB_TESTS +#include <mnozi.c> +#define MAX_SIRINA 80*(24-3) /* zapolnimo malo teminalsko okno */ +#define MAX_SIRINA_S "1680" /* = 80 * 21; nastavi tudi to za format stavek */ +int main (int argc, char ** argv) { + if (argc != 1+2) { + fprintf(stderr, "uporaba: %s <Številka> (^) <Številka>\nprimer za izračun 2^1000: %s 2 1000\n", argv[0], argv[0]); + return 1; + } + unsigned long long int n = strtoull(argv[1], NULL, 10); + unsigned long long int m = strtoull(argv[2], NULL, 10); + if (m == 0) { + fprintf(stderr, "KARKOLI NA NIČ JE ENA! (reci to računalniku)\n"); + return 2; + } + char * z = malloc(sizeof(char)*(MAX_SIRINA + 1)); // + 1 za \0 + unsigned int l = MAX_SIRINA; + unsigned long long int s = 0; // Seštevek števk + sprintf(z, "%0" MAX_SIRINA_S "llu", n); + z[MAX_SIRINA] = '\0'; + for (; m > 1; m--) + // fprintf(stderr, "\rpreostane še %llu operacij ...", m); + mnozi (n, z, l); + for (m = 0; m < MAX_SIRINA; m++) // sicer je m itak že 0 ampak okej + s = s + (z[m] - '0'); + fprintf(stdout, "\rkonec računanja. seštevek števk v rezultatu je %llu, število je\n%s\n", s, z); + return 0; +} |