解题思路:
注意事项:
参考代码:
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的值就变掉了,你把这个改掉之后还是有问题的,你看着输出应该自己就能发现问题了
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:761 |
字符逆序 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:651 |
简单的a+b (C语言代码)浏览:457 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:566 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:523 |
数列有序 (C语言代码)浏览:974 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:417 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1213 |
1250题解浏览:603 |
Kimo 2023-09-14 19:50:23 |
确实