我注意到某个游戏有一个特殊的生命计数器,它没有在999停下来,而是获得了一个新的数字--下一个数字是“100冠”或“00”。99之后是百冠(0),在9之后的最后一个数字是冠100冠或,十进制为1110。
给定一个来自范围[0,1110]的整数(两端都包括在内),输出三个字符串,其中
012345678910的冠冕计数时,您将得到原来的数字。 0 → "000"
15 → "015"
179 → "179"
999 → "999"
1000 → "00"
1097 → "97"
1100 → "0"
1108 → "8"
1110 → ""您可以使用任何非十进制字符代替皇冠。为了鼓励漂亮的打印,冠字符(UTF8字节序列"\240\159\145\145")被计算为一个字节而不是四个字节。您的程序不必对超出有效范围的数字工作。
这是密码-高尔夫,所以最短的答案,以字节来衡量,就赢了!
发布于 2018-09-08 09:37:02
f=(n,p=1e3)=>n<p?(n+p+'').slice(1):'#'+f(n-p,p/10)TIO是基于Arnauld的回答。以#的身份出现。
发布于 2018-09-08 09:41:20
https://codegolf.stackexchange.com/questions/171860
复制相似问题