面试-字符串1

应用

第1个字符串:R

第2个字符串:BR

第3个字符串:RBBR

第4个字符串:BRRBRBBR

规律:第i个字符串 = 第i-1个字符串取反 + 第i-1个字符串,其中B、R互为相反字符。求第n个字符串的第k个字符为多少?n从1开始、k从0开始。

实现

python 复制代码
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:
        # pass
        print(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 + k
      print(next_string)

      Nth_string(N-1, K, next_chars)

    

Nth_string(N, K, current_chars)
powershell 复制代码
请输入第几个字符串:5
请输入第几个字符:3
R
BR
RBBR
BRRBRBBR
RBBRBRRBBRRBRBBR
目标字符为:R
相关推荐
X56615 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
ZhengEnCi6 小时前
03ab-PyTorch安装教程 📚
python
狐狐生风7 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
狐狐生风7 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
老前端的功夫7 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
yaoxin5211238 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai8 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw08 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
小白学大数据8 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
风之所往_9 小时前
Python 3.0 新特性全面总结
python