求水仙花数,这么做有啥问题么
i=100j=i%100//10
k=i%100%10
while(i<=999):
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
print(i)
i=i+1
else:
i=i+1
你i=100,j,k都是固定的数,0,0
而且i变化后,j.k也不是i的十位个位数了
这样每次你只有i变化,几百能满足水仙花数么,,, 塔利班 发表于 2018-10-24 19:27
你i=100,j,k都是固定的数,0,0
而且i变化后,j.k也不是i的十位个位数了
这样每次你只有i变化,几百能满足 ...
i=100
j=i%100//10
k=i%100%10
while(i<=999):
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
j=i%100//10
k=i%100%10
print(i)
i=i+1
else:
i=i+1
谢谢 那如果是这样呢 为啥还是不行类 i=100
j=i%100//10
k=i%100%10
while(i<=999):
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
print(i)
i=i+1
j=i%100//10
k=i%100%10
因为你jk是i的个十位,但是i加了1后就不是了 塔利班 发表于 2018-10-24 19:44
因为你jk是i的个十位,但是i加了1后就不是了
for i in range(100,1000):
while(i<=999):
j=i%100//10
k=i%100%10
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
print(i)
else:
i=i+1
改了一下这个 就一直是153153 请问怎么跳出这个循环 你是else才+1,不是else就不变了
还有没必要2重循环
i=100
while(i<=999):
j=i%100//10
k=i%100%10
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
print(i)
i=i+1 i=100
while(i<=999):
j = i % 100 // 10
k = i % 100 % 10
if((i//100)*(i//100)*(i//100)+j*j*j+k*k*k==i):
print(i)
i+=1
页:
[1]