小红每次可以把一个字符变成两个字母表中比它小一位的字符。例如,可以把’b’变成两个’a’,可以把’z’变成两个’y’。 小红希望最终可以生成 个’a’,你能帮小红求出初始的字符串吗?请你输出长度最短的合法字符串,有多解时输出任意即可。
区块链毕设网qklbishe.com为您提供问题的解答
小红每次可以把一个字符变成两个字母表中比它小一位的字符。例如,可以把’b’变成两个’a’,可以把’z’变成两个’y’。
小红希望最终可以生成 个’a’,你能帮小红求出初始的字符串吗?请你输出长度最短的合法字符串,有多解时输出任意即可。
# 9a --> 最短 ---> # b --> aa , c --> aaaa, d --> aaaaaaaa # 最终的数目就是在 1 2 4 8 16 组合 # 比如 5 --> 4 + 1 ca init = 'a' num = int(input()) pre = 1 res = [1] out = '' while(pre < 1000): pre = pre * 2 res.append(pre) for i in range(len(res)-1,-1,-1): if res[i] == num: out += chr(ord('a')+i) break if res[i] < num: out += chr(ord('a')+i) num = num - res[i] print(out)
12:07
以上就是关于问题小红每次可以把一个字符变成两个字母表中比它小一位的字符。例如,可以把’b’变成两个’a’,可以把’z’变成两个’y’。
小红希望最终可以生成 个’a’,你能帮小红求出初始的字符串吗?请你输出长度最短的合法字符串,有多解时输出任意即可。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训