求教我的代码哪有问题
给定两个非负整数x和y,如果某一整数等于x^i+y^j,其中整数i>= 0且j>=0,那么我们认为该整数是一个"精致"的数。返回值小于或等于n(n<=200)的所有精致的数组成的列表。结果列表中每个值最多出现一次,同时请使用sorted保证结果唯一。
x=int(input('x:'))
y=int(input('y:'))
n=int(input('n:'))
i=0;j=0
a=[]
while True:
if x**i+1>n:
tupple(a)
b=sorted(list(a))
print(b)
break
while True:
if x**i+y**j>n:
break
j+=1
a.append(x**i+y**j)
i+=1
j=0 tupple已改成tuple还是不行 本帖最后由 qq1151985918 于 2021-5-25 10:01 编辑
你那个是个死循环,跳不出来的
对照一下吧
x = int(input('x:'))
y = int(input('y:'))
n = int(input('n:'))
a = []
i = 0
while True:
j = 0
while True:
num = x ** i + y ** j
if num <= n:
if num not in a:
a.append(num)
print(f"{x}^{i} + {y}^{j} = {num}")
j += 1
if num > n or j > n:
break
i += 1
if x ** i > n or i > n:
break
print(sorted(a)) qq1151985918 发表于 2021-5-25 09:39
你那个是个死循环,跳不出来的
对照一下吧
白天上课有点忙,抱歉现在才回复,谢谢大佬了{:10_282:}
页:
[1]