あなたは(ここで、文字列を作りたい1-インデックス化されたインデックスの)文字がn
ありますn
。ときにn
10未満である、これは簡単です:"123456789"
。n
たとえば、12の場合、9を超える数(10を基数)は複数の文字を使用するため、不可能になります。文字列を2文字の部分文字列に分割することで妥協できます"020406081012"
。これで、各部分文字列 の終わりのインデックスn
はn
です。
これは、任意のd
数字に一般化できます。3桁の数字の文字列の「0991021」部分の説明は次のとおりです。
Index: ... * 97 98 99*100 101 102*103 ...
* * *
*---+---+---*---+---+---*---+
Character: ... * 0 | 9 | 9 * 1 | 0 | 2 * 1 | ...
*---+---+---*---+---+---*---+
まだ理解していない場合は、文字列または整数を受け取り、上記のように自己参照文字列を出力するプログラム/関数を作成します。1桁の数字、文字、または1文字の文字列の配列を出力することもできます。
指定された整数は常に正で、その長さで割り切れます(たとえば、126は3で割り切れ、4928は4で割り切れます)。プログラムは理論的には任意の大きな入力に対して機能するはずですが、言語の最大整数や文字列の長さ、あるいはその両方よりも小さいと仮定できます。
それでも得られない場合の注意事項:出力の長さは常に入力そのものであり、出力に表示される数値は入力の桁数で割り切れます。
これはcode-golfであるため、バイト単位の最短回答が優先されます。
テストケース
1 => 1
9 => 123456789
10 => 0204060810
105 => 003006009012015018021024027030033036039042045048051054057060063066069072075078081084087090093096099102105
1004 => 00040008001200160020002400280032003600400044004800520056006000640068007200760080008400880092009601000104010801120116012001240128013201360140014401480152015601600164016801720176018001840188019201960200020402080212021602200224022802320236024002440248025202560260026402680272027602800284028802920296030003040308031203160320032403280332033603400344034803520356036003640368037203760380038403880392039604000404040804120416042004240428043204360440044404480452045604600464046804720476048004840488049204960500050405080512051605200524052805320536054005440548055205560560056405680572057605800584058805920596060006040608061206160620062406280632063606400644064806520656066006640668067206760680068406880692069607000704070807120716072007240728073207360740074407480752075607600764076807720776078007840788079207960800080408080812081608200824082808320836084008440848085208560860086408680872087608800884088808920896090009040908091209160920092409280932093609400944094809520956096009640968097209760980098409880992099610001004