#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
*/