How to sum the digit of a factorial of a number in C

1 Answer

0 votes
#include <stdio.h>

int sumDigits(long num) {
    int sum = 0;
    while (num != 0) {
        sum += num % 10;
        num /= 10;
    }
      
    return sum;
}
  
long factorial(long n) {
    return (n==1 || n==0) ? 1 : n * factorial(n - 1);
}

int main(void) {
    long number = 20;
  
    long result = factorial(number);

    printf("factorial = %ld\n", result);
    
    printf("sum digits = %d", sumDigits(result));
  
    return 0;
}
 
 
 
 
/*
run:
 
factorial = 2432902008176640000
sum digits = 54
 
*/

 



answered Nov 13, 2023 by avibootz

Related questions

1 answer 90 views
1 answer 93 views
1 answer 99 views
1 answer 102 views
1 answer 89 views
1 answer 96 views
1 answer 95 views
...