summaryrefslogtreecommitdiff
path: root/src/projecteuler/092.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/projecteuler/092.c')
-rw-r--r--src/projecteuler/092.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/projecteuler/092.c b/src/projecteuler/092.c
deleted file mode 100644
index 8616cf8..0000000
--- a/src/projecteuler/092.c
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-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<limit; i++)
- numbers[i] = next_chain(i);
-
- count = 0;
-
- for(i=1; i<limit; i++)
- {
- int next = numbers[i];
- while(next != 1 && next != 89)
- next = numbers[next];
-
- numbers[i] = next;
- if(next == 89)
- count++;
- }
-
- printf("%d\n", count);
-
- return 0;
-}
-