1
Sum of digits in 100 factorial. #include <stdio.h> main() { unsigned int dig[200], first = 0, last = 0, carry, n, x, sum = 0; dig[0] = 1; for (n = 2; n <= 99; n++) { carry = 0; for (x = first; x <= last; x++) { carry = dig[x]*n + carry; dig[x] = carry % 1000; if (x == first && !(carry % 1000)) first++; carry /= 1000; } if (carry) dig[++last] = carry; } for (x = first; x <= last; x++) { sum += dig[x]%10 + (dig[x]/10)%10 + (dig[x]/100)%10; } printf("Sum: %d\n", sum); }

C program to calculate the sum of digits in 100 factorial

  • Upload
    vikas

  • View
    104

  • Download
    2

Embed Size (px)

Citation preview

Page 1: C program to calculate the sum of digits in 100 factorial

Sum of digits in 100 factorial.

#include <stdio.h>

main() {

unsigned int dig[200], first = 0, last = 0, carry, n, x, sum = 0;dig[0] = 1;for (n = 2; n <= 99; n++) {

carry = 0;for (x = first; x <= last; x++) {

carry = dig[x]*n + carry;dig[x] = carry % 1000;if (x == first && !(carry % 1000))

first++;carry /= 1000;

}

if (carry)dig[++last] = carry;

}

for (x = first; x <= last; x++) {

sum += dig[x]%10 + (dig[x]/10)%10 + (dig[x]/100)%10;

}printf("Sum: %d\n", sum);

}