楼梯数是正整数x,使得它的第n位数(以最小有效数开始的索引数)等于x% (n + 1)。这是一个小口,所以让我们看看一个例子。取7211311,如果在2-8范围内取7211311的模余数,我们得到如下结果:
7211311 % 2 = 1
7211311 % 3 = 1
7211311 % 4 = 3
7211311 % 5 = 1
7211311 % 6 = 1
7211311 % 7 = 2
7211311 % 8 = 7
这是7211311的数字!因此,7211311是一个楼梯号。
当给定一个正数作为输入时,编写的代码将输出两个不同的值,一个是楼梯编号,另一个不是。
这是一个密码-高尔夫竞争,所以您的目标应该是最小化源代码中的字节数。
以下是前13道楼梯的编号:
1, 10, 20, 1101, 1121, 11311, 31101, 40210, 340210, 4620020, 5431101, 7211311, 12040210
发布于 2017-07-01 14:48:49
发布于 2017-07-01 17:24:09
发布于 2017-07-01 18:00:59
取数字为int
x n|s<-show n=reverse s==(rem n.(+1)<A2gt;[1..length s]>>=show)
https://codegolf.stackexchange.com/questions/129340
复制相似问题