#include #include #define DISABLE_LIB_TESTS #include #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; }