aboutsummaryrefslogtreecommitdiff
path: root/challenge-102/abigail/lua/ch-1.lua
blob: b36b2dd81ba7135c6f62b0646923f880c22f4535 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#!/opt/local/bin/lua

--
-- See ../README.md
--

--
-- Run as: lua ch-1.lua < input-file
--

--
-- Load the known rare numbers into an array, bucketed by length.
--

rare_numbers = {}
rare_numbers [ 2] =                     "65\n"
rare_numbers [ 6] =                 "621770\n"
rare_numbers [ 9] =              "281089082\n"
rare_numbers [10] =             "2022652202\n" ..
                                "2042832002\n"
rare_numbers [12] =           "868591084757\n" ..
                              "872546974178\n" ..
                              "872568754178\n"
rare_numbers [13] =          "6979302951885\n"
rare_numbers [14] =         "20313693904202\n" ..
                            "20313839704202\n" ..
                            "20331657922202\n" ..
                            "20331875722202\n" ..
                            "20333875702202\n" ..
                            "40313893704200\n" ..
                            "40351893720200\n"
rare_numbers [15] =        "200142385731002\n" ..
                           "204238494066002\n" ..
                           "221462345754122\n" ..
                           "244062891224042\n" ..
                           "245518996076442\n" ..
                           "248359494187442\n" ..
                           "403058392434500\n" ..
                           "441054594034340\n" ..
                           "816984566129618\n"
rare_numbers [16] =       "2078311262161202\n" ..
                          "2133786945766212\n" ..
                          "2135568943984212\n" ..
                          "2135764587964212\n" ..
                          "2135786765764212\n" ..
                          "4135786945764210\n" ..
                          "6157577986646405\n" ..
                          "6889765708183410\n" ..
                          "8052956026592517\n" ..
                          "8052956206592517\n" ..
                          "8191154686620818\n" ..
                          "8191156864620818\n" ..
                          "8191376864400818\n" ..
                          "8650327689541457\n" ..
                          "8650349867341457\n"
rare_numbers [17] =      "22542040692914522\n" ..
                         "67725910561765640\n" ..
                         "86965750494756968\n"
rare_numbers [18] =     "225342456863243522\n" ..
                        "225342458663243522\n" ..
                        "225342478643243522\n" ..
                        "284684666566486482\n" ..
                        "284684868364486482\n" ..
                        "297128548234950692\n" ..
                        "297128722852950692\n" ..
                        "297148324656930692\n" ..
                        "297148546434930692\n" ..
                        "497168548234910690\n" ..
                        "619431353040136925\n" ..
                        "619631153042134925\n" ..
                        "631688638047992345\n" ..
                        "633288858025996145\n" ..
                        "633488632647994145\n" ..
                        "653488856225994125\n" ..
                        "811865096390477018\n" ..
                        "865721270017296468\n" ..
                        "871975098681469178\n" ..
                        "898907259301737498\n"
rare_numbers [19] =    "2042401829204402402\n" ..
                       "2060303819041450202\n" ..
                       "2420424089100600242\n" ..
                       "2551755006254571552\n" ..
                       "2702373360882732072\n" ..
                       "2825378427312735282\n" ..
                       "6531727101458000045\n" ..
                       "6988066446726832640\n" ..
                       "8066308349502036608\n" ..
                       "8197906905009010818\n" ..
                       "8200756128308135597\n" ..
                       "8320411466598809138\n"
rare_numbers [20] =   "22134434735752443122\n" ..
                      "22134434753752443122\n" ..
                      "22134436953532443122\n" ..
                      "22136414517954423122\n" ..
                      "22136414971554423122\n" ..
                      "22136456771730423122\n" ..
                      "61952807156239928885\n" ..
                      "61999171315484316965\n" ..
                      "65459144877856561700\n"
rare_numbers [21] =  "208393425242000083802\n" ..
                     "219518549668074815912\n" ..
                     "257661195832219326752\n" ..
                     "286694688797362186682\n" ..
                     "837982875780054779738\n"
rare_numbers [22] = "2414924301133245383042\n" ..
                    "2414924323311045383042\n" ..
                    "2414946523311023183042\n" ..
                    "2576494891793995836752\n" ..
                    "2576494893971995836752\n" ..
                    "2620937863931054483162\n" ..
                    "2620937863931054483162\n" ..
                    "2620955641393276283162\n" ..
                    "2622935621573476481162\n" ..
                    "2622935643751276481162\n" ..
                    "2622937641933274481162\n" ..
                    "2622955841933256281162\n" ..
                    "2622957843751254281162\n" ..
                    "2727651947516658327272\n" ..
                    "2747736918335953517072\n" ..
                    "2788047668617596408872\n" ..
                    "2788047848617776408872\n" ..
                    "2788047868437576408872\n" ..
                    "2788047888617376408872\n" ..
                    "2939501759705522349392\n" ..
                    "2939503375709360349392\n" ..
                    "2939503537707740349392\n" ..
                    "2939521359525562149392\n" ..
                    "2939521557527542149392\n" ..
                    "2939523577527340149392\n" ..
                    "2939523779525320149392\n" ..
                    "2959503377707360349192\n" ..
                    "6344828989519887483525\n" ..
                    "8045841652464561594308\n" ..
                    "8045841654642561594308\n" ..
                    "8655059576513659814468\n" ..
                    "8655059772157639814468\n" ..
                    "8655079374155679614468\n" ..
                    "8655079574515659614468\n" ..
                    "8888070771864228883913\n"

--
-- Print the wanted rare numbers, if they exist.
--
for length in io . lines () do
    length = tonumber (length)
    if   rare_numbers [length]
    then io . write (rare_numbers [length])
    end
end