Python Challenge 10
Challenge 10
Challenge 10图片就是那头公牛,不过,这一关和它没有任何关系。图片下提示:
len(a[30]) = ?
图片的链接指向一个sequence.txt
文件,内容是:
a = [1, 11, 21, 1211, 111221,
显然是要找到其中的规律了,然后根据这个规律递归得到最后的结果。
笔者不才,百思不得解而只好求助骨哥:
- 序列中的第二个数“11”表示,前一个数“1”有:1个1;
- 之后,“21”表示,前一个数“11”有:2个1;
- “1211”表示,前一个数“21”有:1个2、1个1;
- 最后,“111221”表示,前一个数“1211”有:1个1、1个2、2个1;
因此,根据这个规律,依次统计前一个数中数字连续重复出现次数(同一个数字不连续部分分别统计);所以下一个数应为“312211”,再下一个为“13112221”。
将数字转换为字符串,通过正则规则r"(\d)\1*"
进行统计更为方便:
最后结果为5808,URL:http://www.pythonchallenge.com/pc/return/5808.html,进入Challenge 11。
博客中 Python Challenge 所有源码分享:打开坚果
This post is licensed under CC BY 4.0 by the author.