PTA 1140 Look-and-say Sequence (20 分)

简介: 代码如下

题目


Look-and-say sequence is a sequence of integers as the following:


D, D1, D111, D113, D11231, D112213111, ... where D is in [0, 9] except 1. The (n+1)st number is a kind of description of the nth number. For example, the 2nd number means that there is one D in the 1st number, and hence it is D1; the 2nd number consists of one D (corresponding to D1) and one 1 (corresponding to 11), therefore the 3rd number is D111; or since the 4th number is D113, it consists of one D, two 1's, and one 3, so the next number must be D11231. This definition works for D = 1 as well. Now you are supposed to calculate the Nth number in a look-and-say sequence of a given digit D.


Input Specification: Each input file contains one test case, which gives D (in [0, 9]) and a positive integer N (≤ 40), separated by a space.


Output Specification: Print in a line the Nth number in a look-and-say sequence of D.


Sample Input:
1 8
结尾无空行
Sample Output:
1123123111
结尾无空行


解题思路


startInt, round = map(str, input().split())
# startInt, round = map(str, "1 8".split())
res = startInt
# res = str(1231)
for _ in range(int(round)-1):
    # resList = list(res)
    resList = res
    tempStr = None
    tempCount = 0
    res = ""
    for val in resList:
    # for index,val in enumerate(resList):
        if val == tempStr:
            tempCount += 1
        else:#如果不相等,就把上一个输出并新赋值
            if tempStr != None:
                res += tempStr + str(tempCount)
            tempStr = val
            tempCount = 1
    #处理最后一个符号
    res += tempStr + str(tempCount)
print(res)


目录
相关文章
【PTA】7-8 到底有多二 (15分)
【PTA】7-8 到底有多二 (15分)
2185 0
|
10月前
UVa787 - Maximum Sub-sequence Product(最大连续乘积子串)
UVa787 - Maximum Sub-sequence Product(最大连续乘积子串)
30 0
PTA 7-4 胖达与盆盆奶 (20 分)
俗称“胖达”,会排队吃盆盆奶。它们能和谐吃奶的前提,是它们认为盆盆奶的分配是“公平”的,即:更胖的胖达能吃到更多的奶,等胖的胖达得吃到一样多的奶。
126 0
|
测试技术
PTA 1039 到底买不买 (20 分)
小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。
98 0
PTA 7-1 多二了一点 (15 分)
若一个正整数有 2n 个数位,后 n 个数位组成的数恰好比前 n 个数位组成的数多 2,则称这个数字“多二了一点”。
92 0
L1-057 PTA使我精神焕发 (5 分)
L1-057 PTA使我精神焕发 (5 分)
66 0
L1-057 PTA使我精神焕发 (5 分)
PTA 1088 三人行 (20 分)
子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”
72 0
|
C语言
PTA 1026 程序运行时间 (15 分)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。
98 0