[ create a new paste ] login | about

Link: http://codepad.org/rXa5S9jP    [ raw code | output | fork ]

C, pasted on Jun 15:
#include <stdio.h>

int g(int n) {
  int t;
  return (n == 0) ? 0 : (t = n % 10, g(n / 10) + t * t);
}

int f(int n, int a[], int limit) {
  int s, t;
  return (n < 10) ? n
                  : (n <= limit && a[n] != 0 && a[n] < 10) ? a[n]
                                                           : (t = g(n),
                                                              s = f(t, a, limit),
                                                              (t <= limit) ? a[t] = s : 0,
                                                              s);
}

int h(int n, int max, int a[], int arraysize) {
  int t;
  return (n <= max) ? (t = f(n, a, arraysize),
                       printf("%d:%d->%s\n", n, t, (t == 1) ? "LUCKY" : "unlucky"),
                       h(n + 1, max, a, arraysize))
                    : 0;
}

#define N 100
int main() {
  static int a[N + 1] = {0};
  a[0] = 0; a[1] = 1;
  return h(1, 100, a, N);
}
/* end */


Output:
1:1->LUCKY
2:2->unlucky
3:3->unlucky
4:4->unlucky
5:5->unlucky
6:6->unlucky
7:7->unlucky
8:8->unlucky
9:9->unlucky
10:1->LUCKY
11:2->unlucky
12:5->unlucky
13:1->LUCKY
14:4->unlucky
15:4->unlucky
16:4->unlucky
17:4->unlucky
18:4->unlucky
19:1->LUCKY
20:4->unlucky
21:5->unlucky
22:8->unlucky
23:1->LUCKY
24:4->unlucky
25:4->unlucky
26:4->unlucky
27:4->unlucky
28:1->LUCKY
29:4->unlucky
30:9->unlucky
31:1->LUCKY
32:1->LUCKY
33:4->unlucky
34:4->unlucky
35:4->unlucky
36:4->unlucky
37:4->unlucky
38:4->unlucky
39:4->unlucky
40:4->unlucky
41:4->unlucky
42:4->unlucky
43:4->unlucky
44:1->LUCKY
45:4->unlucky
46:4->unlucky
47:4->unlucky
48:4->unlucky
49:1->LUCKY
50:4->unlucky
51:4->unlucky
52:4->unlucky
53:4->unlucky
54:4->unlucky
55:4->unlucky
56:4->unlucky
57:4->unlucky
58:4->unlucky
59:4->unlucky
60:4->unlucky
61:4->unlucky
62:4->unlucky
63:4->unlucky
64:4->unlucky
65:4->unlucky
66:4->unlucky
67:4->unlucky
68:1->LUCKY
69:4->unlucky
70:1->LUCKY
71:4->unlucky
72:4->unlucky
73:4->unlucky
74:4->unlucky
75:4->unlucky
76:4->unlucky
77:4->unlucky
78:2->unlucky
79:1->LUCKY
80:4->unlucky
81:4->unlucky
82:1->LUCKY
83:4->unlucky
84:4->unlucky
85:4->unlucky
86:1->LUCKY
87:2->unlucky
88:4->unlucky
89:4->unlucky
90:4->unlucky
91:1->LUCKY
92:4->unlucky
93:4->unlucky
94:1->LUCKY
95:4->unlucky
96:4->unlucky
97:1->LUCKY
98:4->unlucky
99:4->unlucky
100:1->LUCKY


Create a new paste based on this one


Comments: