Project Euler
Project Euler #34 : Digit factorials
jyheo98
2020. 8. 8. 13:01
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | VI fact; bool solve(int n) { int sum = 0; int temp = n; while (n > 0) { sum += fact[n % 10]; n /= 10; } return temp == sum; } int main() { fact.push_back(1); int mul = 1; for (int i = 1; i <= 9; i++) { mul *= i; fact.push_back(mul); } llong sum = 0; for (int i = 3; i <= 10000000; i++) { if (solve(i)) sum += i; } cout << sum; } | cs |