Sie sind auf Seite 1von 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);
}

Das könnte Ihnen auch gefallen