解题思路:
注意事项:
参考代码:
for i in range(1,3000):
s=k=0
for j in range(1,i):
if i%j==0:
s+=j
for x in range(1,s):
if s%x==0:
k+=x
if i==k and i<s:
print("({:d},{:d})".format(i,s),end="")
0.0分
5 人评分
s1=s2=1 for i in range(2,3001): for j in range(2,i//2+1): if i%j==0: s1+=j for k in range(2,s1//2+1): if s1%k==0: s2+=k if i==s2: print('(%d,%d)'%(i,s1),end='') 我的程序有什么问题吗?我根据完数的判断写的
Kimo 2023-09-14 20:04:01 |
s1=s2=1要放到循环里面去,不然一次循环后s1,s2的值就变掉了,你把这个改掉之后还是有问题的,你看着输出应该自己就能发现问题了
Kimo 2023-09-14 19:50:23 |
确实