How to sum the factorials of the digits of a number in C++

1 Answer

0 votes
#include <iostream>

long factorial(long n) {
    return (n == 1 || n == 0) ? 1 : n * factorial(n - 1);
}
 
int sumFactorialDigits(long num) {
    int sum = 0;
 
    while (num != 0) {
        sum += factorial(num % 10);
        num /= 10;
    }
 
    return sum;
}
 
int main(void) {
    long number = 345;
 
    std::cout << "sum factorial digits = " << sumFactorialDigits(number);
}
 
 
 
 
/*
run:
 
sum factorial digits = 150
 
*/

 



answered Jan 2, 2024 by avibootz
...