自己写的一个求精致数的代码,为什么出错了?
问题描述:
给定两个非负整数x和y,如果某一整数等于x^i+y^j,其中整数i>= 0且j>=0,那么我们认为该整数是一个"精致"的数。返回值小于或等于n(n<=200)的所有精致的数组成的列表。
结果列表中每个值最多出现一次,同时请使用sorted保证结果唯一。
答
你的b没有定义,应该在前面加上
b=[]
答
元组是tuple不是tupple
答
x = 5 #int(input('x:'))
y = 4 #int(input('y:'))
n = 200 #int(input('n:'))
i = -1
j = 0
a = []
while True:
j = 0
i += 1
while x**i + y**j < n:
print(i, j)
a.append(x**i + y**j)
j += 1
if x**i + 1>n:
break
print(sorted(set(a)))
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632