挑战:
创建一个程序,该程序接受一个非零正整数的输入,并按照下面描述的顺序输出下四个数字。
注意:不需要检查输入是否实际上是一个非零的正整数
顺序:
此序列中的每个数字(除第一个数字(输入数字)外)均应由n个数字组成,其中n是偶数。如果我们将数字分为n / 2对,则每对数字的第一个数字应为第二个数字在前一个数字中出现的次数
直观说明:
考虑此示例“序列启动器”或输入序列中6577
的下一个数字应如下所示,161527
因为输入具有1个“ 6”,1个“ 5”和2个“ 7”。
如果输入的位数太多(单个位数超过9个),您将无法获得正确的输出。
示例:111111111111
(12个1)
序列中的下一个数字必须描述12个1。因此,我们将其分为9 1和3 1(总和9 + 3 = 12)
下一个数字:9131
您应该对输入进行4次迭代,然后将其输出(返回一个包含4个整数的列表/数组,或者通过用空格分隔它们来输出它,也可以使用换行符)
“数字可以用很多方式写,我怎么写?” :
如果考虑到这一点,示例输入6577
也可以写为271516(两个7,一个5,一个六个)。但是,这是无效的输出。您应该从左到右迭代该数字。因此为161527。如果7657
您要迭代7的数量,则依次迭代6的数量和5的数量,这样有效的输出将是271615
I / O示例:
输入:75
输出:1715 211715 12311715 4112131715
输入:1
输出:11 21 1211 3112
输入:111111111111
(12 1's)
输出:9131 192113 31191213 23411912
这与“说您看到的内容”问题不同,因为序列不同:https
://oeis.org/A005150 <-此返回的数字是这样的:输入:1211输出:111221
当我要输入序列时会做
输入:1211输出:3112
这两个序列不同,需要不同的算法。
我的询问序列:https : //oeis.org/A063850
“可能重复”序列:https : //oeis.org/A005150
重要规格:
由于对于某些试图回答此问题的人来说还不够清楚,因此对于k个字符,其中k> 9的正确输出不是“ kc”(其中c是字符),而是9c(k-9)c等。因此,对于12 1不是121
(12 1)而是9131
(9 1,(12-9)1等)
如果有疑问,您的代码如果输出的数字是奇数个数字(例如121)是错误的,由于序列的性质,它应该输出偶数数字。
这是代码高尔夫球,因此具有最少字节胜利的代码。
23411912
代替23411219
吗?
1111111111111111111
(19 1's)