有人问了以下问题
这个问题就是“出场顺序”的问题。
看着说序列的第n项描述了第n-1项的数字分布。它以1:
1.读作“1”,即11。
1.读作两个“1”,即21。
21.读作1“2”,1“1”,即1211。
211:读作1“1”,1“2”,2“1”,即111221。
11221:读作3个“1”,2个“2”,1个“1”,即312211。
1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211,(OEIS的A005150系列)
如果这个数列是从0到9的任意一个d数生成的,那么就可以确定d会保持在每一项的最后一位。如果d不是1,那么这个数列就是:
d,1d,111d,311d,13211d,111312211d,31131122211d,…
解决方案想法:
1.写一个函数分解一个像111221这样的数,输入是这样的数,输出是这个数出现的次数和这个数的组合。
2.Stack用于存储遍历的数字(数字被转换成字符串)。
3.保存字典中的最后一项。
按照上面的思路,黄哥写的代码如下:
可以把字典里的字符串变成数字,用int()进行转换。
- 上一篇:2005年飞天茅台酒价格
- 下一篇:五粮液全部图片,茅台老酒图片