このチャレンジは、Generate Dennis Numbersと同じ精神で、 Legendary Challenge Writer™であるCalvin's Hobbies(現在はHelka Hombaに改名)へのオマージュ です。
カルビンはPPCGに非常に印象的な貢献者であり、全体で6番目に評判が高く、おそらく間違いなく私たち全員のスキルを書く最高の挑戦です。ただし、もちろん、この課題では、彼のユーザーIDに注目します。
26997は最初はあまりおもしろくないかもしれません。実際、
いくつかの点でほとんど興味深いものです。たとえば、次の26997 mod <n>特定の値のチャートは次のnとおりです。
n   |  26997 % n
----+-----------
3   |  0
4   |  1
5   |  2
6   |  3
7   |  5 :(
8   |  5
9   |  6
10  |  7
ただし、26997は、で表現できる数少ない数字の1つです。ここで、整数は0以上です。(n * 10)n - nn
このように表現できる最初の数個の数字を以下に示します。以降、これをCalvin Numbersと呼びます。
9
398
26997
2559996
312499995
46655999994
8235429999993
1677721599999992
387420488999999991
99999999999999999990
28531167061099999999989
8916100448255999999999988
3028751065922529999999999987
1111200682555801599999999999986
437893890380859374999999999999985
184467440737095516159999999999999984
82724026188633676417699999999999999983
39346408075296537575423999999999999999982
19784196556603135891239789999999999999999981
10485759999999999999999999999999999999999999980
これらのカルバン番号には、いくつかの興味深い特性があります。パターンを右揃えしてすべての9s を強調表示すると、より多くのパターンが現れます。
この挑戦のために私たちが興味を持っているものは:
- に関係なく - n、すべてのカルバン番号はで終わり ます。- 10n - n- だから、カルバン(1)で終了 - 9カルバン(2)で終わる、- 98およびパターンが続け- 997、- 9996、- 99995各連続で、等カルバン数カウントダウンと余分を追加- 9先頭に。
- nwhere- n % 10 == 0(つまり- n、10で割り切れる)の値の場合、Calvin(n)はで終わります。- 102n - n- つまり、パターンは通常の2倍の桁数で拡張さ - 9れ、先頭のsの数はに等しくなり- nます。
- とき - nの電力である- 10(- 10、- 100、- 1000、等)、パターンはさらに、すべての単一の桁のいずれかで延びている- 9、または- 0。- このパターンは次のとおりです 。9、および ゼロ。これは、チャートで理解するのが簡単です(いずれにしても、ソリューションで処理できるのは10000までの数字だけなので、これで十分です)。 - (n + 1) * 10n - n- n- n | Calvin(n) -------+----------------------- 10 | 19 nines, 1 zero 100 | 298 nines, 2 zeroes 1000 | 3997 nines, 3 zeroes 10000 | 49998 nines, 4 zeroes- ナインの数は、カルビン数 自体のいくつかの特性を示していますが、この課題にはあまりにも詳細です。 
チャレンジ
「任意の精度の整数を持たない言語でn番目のCalvin Numberチャレンジを実行するには、Calvin Numbersが非常に大きく、非常に速くなります。したがって、課題は数値が上記のパターンに適合するかどうかを判断することです。数字は「候補カルバン数」であるかどうか。
候補カルバン番号と見なされる番号 (以下、略してCCNと呼びます)の基準は次のとおりです。
- 整数のパターンに適合する数値で終わり ます。 - 10n - n- n- したがって、CCNになるには、数字の末尾が9、98、または997、9996、99995などでなければなりません。 
- 最後の桁がの場合、前のポイントと同じように、 - 0末尾もでなければなりません 。- 102n - n- n- これは、それ - 12312312399999999999999999999999999999999999980がCCN ではないことを意味しますが- 10485759999999999999999999999999999999999999980、実際には正しいものです。
- n前の2つのステップの値が10の累乗の場合、全体の数は上記の3番目のパターンに適合する必要があります。
入出力
入力は文字列として提供され、常により小さい数値をCalvin(10000) + 10000表します(これはとして表現することもできます
 )。(明確にするために、最大の可能な入力は50000ナインであり、最小の可能な入力はです。)10500001
入力がCCNである数値を表す場合、出力は真実の値である必要があり、そうでない場合は偽の値でなければなりません。これらの用語の定義については、metaを参照してください。
テストケース
結果が真の値になるはずの入力:
9
26997
99999999999999999990
437893890380859374999999999999985
10485759999999999999999999999999999999999999980
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999900
259232147948794494594485446818048254863271026096382337884099237269509380022108148908589797968903058274437782549758243999867043174477180579595714249308002763427793979644775390624999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999850
1027092382693614216458468213549848274267264533712122209400214436472662418869004625362768700557725707157332451380426829473630485959339004149867738722096608953864534215649211386152032635755501464142277508289403434891444020975243742942368836579910208098242623061684967794815600266752580663281483595687307649904776800899000484103534573979334062832465904049046104660220505973505050538180250643437654409375728443182380726453925959886901573523090619465866810938078629561306599174923972607310649219442207992951278588892681161967770532314854195892941913447519131828356181219857012229150315613569162930098836696593474888020746503116685472977764615483225628639443918309216648893055765917642528801571387940219884056021782642758517893124803355573565644666880920219871370649806723296262307899148031362558110611562055614190049332906933360406981359187305353360484377948591528385990255894034369523166777375785900198782250651053530165824984161319460372145229568890321167955690544235365954748429659526071133879976348254667755220636244075595290123987745560038255541751251200827018722242010925729483977388235141539109139120069464709993781356334885359200734157439642935779132120725231008699003342908280056975158266782782304550273268246184659474285971272532354920744956064671379745219778013465792544241259691493098443741845166419905920702654683993902052727208789915748213660571390107102976665776293366616518962323688316843422737162297255648351087284877987537325761187239807598009767936409247247417410607537333841650998421607775989879490006136112078031237742552602618996017404602674987181629319060214150458746352191115606789019875790921190573561400752476956787515392210098071407806221412149732955903681690377998882038499470092453400748916257640501488510563314141992573250882286817352407459053866180642034662845694338400386823496563185664221362457851894843439705365082614359220653285052800751906334000698723288454227654466240011140570190301931122357632719033275258503935182047714841766010764632214069382579660602964184231995352310981811428980530707871661256260926759509418970021224649566130995825802676411575264295689037775857674060557127369881379685432291930869072749065675720647595081516460449973211035071920099349836074945813885239767788449030051892470053308048906746273036871919251738920141071153777908913021898541658119513188402271468288293408246833819954990709460114510017598873554406350044072275643892449218394225569069468466660333869360644718801813500285081977089623921689922204185138003164149106921903053243405307546841149889662566529697217181329051855403329741409045760789280950603184354320839342588593832348459938736210265795978675460906504449491132656307256451707333439200130425932724262464823848348296787445624028385464112471408499986690593095395244034885421580844176161027627954578726208600199909963055422192706751708210693468639072881081717288837393188012794669089175022406897622823484220002211676520484520241135615999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999028
偽の値をもたらすはずの入力:
1
26897
79999999999999999990
437893890380859374299999999999985
12312312399999999999999999999999999999999999980
999998999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999900
259232147948794494594485446818048254863271026096382337884099237269509380022108148908589797968903058274437782549758243999867043174477180579595714249308002763427793979644775390624999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999911111
1027092382693614216458468213549848274267264533712122209400214436472662418869004625362768700557725707157332451380426829473630485959339004149867738722096608953864534215649211386152032635755501464142277508289403434891444020975243742942368836579910208098242623061684967794815600266752580663281483595687307649904776800899000484103534573979334062832465904049046104660220505973505050538180250643437654409375728443182380726453925959886901573523090619465866810938078629561306599174923972607310649219442207992951278588892681161967770532314854195892941913447519131828356181219857012229150315613569162930098836696593474888020746503116685472977764615483225628639443918309216648893055765917642528801571387940219884056021782642758517893124803355573565644666880920219871370649806723296262307899148031362558110611562055614190049332906933360406981359187305353360484377948591528385990255894034369523166777375785900198782250651053530165824984161319460372145229568890321167955690544235365954748429659526071133879976348254667755220636244075595290123987745560038255541751251200827018722242010925729483977388235141539109139120069464709993781356334885359200734157439642935779132120725231008699003342908280056975158266782782304550273268246184659474285971272532354920744956064671379745219778013465792544241259691493098443741845166419905920702654683993902052727208789915748213660571390107102976665776293366616518962323688316843422737162297255648351087284877987537325761187239807598009767936409247247417410607537333841650998421607775989879490006136112078031237742552602618996017404602674987181629319060214150458746352191115606789019875790921190573561400752476956787515392210098071407806221412149732955903681690377998882038499470092453400748916257640501488510563314141992573250882286817352407459053866180642034662845694338400386823496563185664221362457851894843439705365082614359220653285052800751906334000698723288454227654466240011140570190301931122357632719033275258503935182047714841766010764632214069382579660602964184231995352310981811428980530707871661256260926759509418970021224649566130995825802676411575264295689037775857674060557127369881379685432291930869072749065675720647595081516460449973211035071920099349836074945813885239767788449030051892470053308048906746273036871919251738920141071153777908913021898541658119513188402271468288293408246833819954990709460114510017598873554406350044072275643892449218394225569069468466660333869360644718801813500285081977089623921689922204185138003164149106921903053243405307546841149889662566529697217181329051855403329741409045760789280950603184354320839342588593832348459938736210265795978675460906504449491132656307256451707333439200130425932724262464823848348296787445624028385464112471408499986690593095395244034885421580844176161027627954578726208600199909963055422192706751708210693468639072881081717288837393188012794669089175022406897622823484220002211676520484520241135615999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999027
ルール
- 言語が任意精度の整数(またはこれより大きい数値を格納できる十分な精度の数値型)をサポートしている場合、プログラムのどの時点でも()より大きい整数を処理 できません。 - 18446744073709551615- 264- これは、考えられるすべてのカルビン数(または考えられるすべての値)をループするソリューションを防ぐためです。 - 10n - n
- これはcode-golfなので、バイト単位の最短コードが優先されます。 
9はすべて真実でなければなりません。一定。
                