diff options
Diffstat (limited to 'challenge-102/abigail/python')
| -rw-r--r-- | challenge-102/abigail/python/ch-1.py | 150 | ||||
| -rw-r--r-- | challenge-102/abigail/python/ch-2.py | 31 |
2 files changed, 181 insertions, 0 deletions
diff --git a/challenge-102/abigail/python/ch-1.py b/challenge-102/abigail/python/ch-1.py new file mode 100644 index 0000000000..ccda43c3da --- /dev/null +++ b/challenge-102/abigail/python/ch-1.py @@ -0,0 +1,150 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as python ch-1.py < input-file +# + +import fileinput +import sys + +# +# All known rare numbers +# +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 numbers +# +for l in fileinput . input (): + l = l . strip () + if l in rare_numbers: + sys . stdout . write (rare_numbers [l]) diff --git a/challenge-102/abigail/python/ch-2.py b/challenge-102/abigail/python/ch-2.py new file mode 100644 index 0000000000..e8c3ee71ec --- /dev/null +++ b/challenge-102/abigail/python/ch-2.py @@ -0,0 +1,31 @@ +#!/opt/local/bin/python + +# +# See ../README.md +# + +# +# Run as python ch-2.py < input-file +# + +import fileinput + +# +# Working from the end of the required string backwards, we alternate +# placing a hash, and placing a number. We place them in an array @out, +# and at the end, print out said array in reverse order. +# +for index in fileinput . input (): + index = int (index) + out = [] + hash = 0 + while index > 0: + hash = not hash + if hash: + out . append ("#") + index = index - 1 + else: + out . append (str (index + 1)) + index = index - len (str (index + 1)) + out . reverse () + print ("" . join (out)) |
