您想创建一个字符串,其中index 处的(1-indexed)字符n
为n
。当n
小于10,这是很容易:"123456789"
。n
例如,当值为12时,它变得不可能,因为大于9的数字(以10为底)占用一个以上的字符。我们可以通过将字符串转换成两个字符子妥协:"020406081012"
。现在,每个子字符串 结尾的索引n
为n
。
可以将其概括为任何d
数字。这是三位数字字符串的“ 0991021”部分的说明:
Index: ... * 97 98 99*100 101 102*103 ...
* * *
*---+---+---*---+---+---*---+
Character: ... * 0 | 9 | 9 * 1 | 0 | 2 * 1 | ...
*---+---+---*---+---+---*---+
如果还没有弄清楚,您将编写一个程序/函数,该程序/函数接受一个字符串或整数,并输出其自指字符串,如上所述。您还可以输出一个由一位数字,字符或单字符字符串组成的数组。
给定的整数将始终为正,并且可以按长度进行整除(例如126被3整除; 4928被4整除)。理论上,您的程序应该可以为任意大的输入工作,但是您可以假定它小于语言的最大整数和/或字符串长度。
如果您仍然没有得到一些观察结果:输出的长度将始终是输入本身,并且输出中出现的数字将被输入中的位数所除。
这是代码高尔夫球,因此最短答案以字节为单位。
测试用例
1 => 1
9 => 123456789
10 => 0204060810
105 => 003006009012015018021024027030033036039042045048051054057060063066069072075078081084087090093096099102105
1004 => 00040008001200160020002400280032003600400044004800520056006000640068007200760080008400880092009601000104010801120116012001240128013201360140014401480152015601600164016801720176018001840188019201960200020402080212021602200224022802320236024002440248025202560260026402680272027602800284028802920296030003040308031203160320032403280332033603400344034803520356036003640368037203760380038403880392039604000404040804120416042004240428043204360440044404480452045604600464046804720476048004840488049204960500050405080512051605200524052805320536054005440548055205560560056405680572057605800584058805920596060006040608061206160620062406280632063606400644064806520656066006640668067206760680068406880692069607000704070807120716072007240728073207360740074407480752075607600764076807720776078007840788079207960800080408080812081608200824082808320836084008440848085208560860086408680872087608800884088808920896090009040908091209160920092409280932093609400944094809520956096009640968097209760980098409880992099610001004