From 72a596370e376b380f6ff5e9a787582ffa088fdb Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Tue, 20 Oct 2009 19:10:23 +0200 Subject: solution for project euler problem 92 --- src/projecteuler/092.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/projecteuler/092.c diff --git a/src/projecteuler/092.c b/src/projecteuler/092.c new file mode 100644 index 0000000..8616cf8 --- /dev/null +++ b/src/projecteuler/092.c @@ -0,0 +1,45 @@ + + +const int limit = 10000000; + +const int squares[10] = { 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 }; + +int next_chain(int number) +{ + int sum = 0; + int digit; + while(number > 0) + { + digit = number % 10; + number = number / 10; + sum += squares[digit]; + } + return sum; +} + +int main() +{ + int* numbers = calloc(limit, sizeof(int)); + int i, count; + + for(i=0; i