应用
第1个字符串:R
第2个字符串:BR
第3个字符串:RBBR
第4个字符串:BRRBRBBR
规律:第i个字符串 = 第i-1个字符串取反 + 第i-1个字符串,其中B、R互为相反字符。求第n个字符串的第k个字符为多少?n从1开始、k从0开始。
实现
N = int(input("请输入第几个字符串:"))
K = int(input("请输入第几个字符:"))first_string = "R"
current_chars = list(first_string)#print(current_chars)
print(first_string)def Nth_string(N, K, current_chars):next_chars = []if N == 1:# passprint(f"目标字符为:{current_chars[K]}")else:for i in range(0, len(current_chars)):if current_chars[i] == "R":next_chars.append("B")else:next_chars.append("R")for j in range(0, len(current_chars)):next_chars.append(current_chars[j])#print(next_chars)next_string = ""for k in next_chars:next_string = next_string + kprint(next_string)Nth_string(N-1, K, next_chars)Nth_string(N, K, current_chars)
请输入第几个字符串:5
请输入第几个字符:3
R
BR
RBBR
BRRBRBBR
RBBRBRRBBRRBRBBR
目标字符为:R