diff --git a/34 b/34 new file mode 100755 index 0000000..aa9acde Binary files /dev/null and b/34 differ diff --git a/34.c b/34.c new file mode 100644 index 0000000..a5cb8f7 --- /dev/null +++ b/34.c @@ -0,0 +1,20 @@ +#include +#include + +int factorial[10] = { 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880 }; + +int main (int argc, char* argv[]) { + int max = 2540160; // 7 * 9! + int sumOfNum = 0; + for (int i = 10; i <= max; i++) { + int sumOfDigFact = 0; + int remainder = i; + while (remainder > 0) { + sumOfDigFact += factorial [remainder % 10]; + remainder /= 10; + } + if (sumOfDigFact == i) + sumOfNum += i; + } + printf ("%d\n", sumOfNum); +}