【发布时间】:2020-07-19 09:48:15
【问题描述】:
我试着看看这对友好的数字是多少(低于 20000)。 (友好数:两个不同的数相关联,以至于每个数的真因数之和等于另一个数。(一个数的真因数是该数的一个正因数,而不是该数本身。例如,真因数6 的除数是 1、2 和 3。) 所以我写了代码..并调试了。
def amicable(num):
a=1
for i in range(2,num):
if num%i==0:
a=a+i
return a
for j in range(2,20000):
amicable(j)
for k in range(2,20000):
amicable(k)
if amicable(j)==k and amicable(k)==j and j!=k:
print(j,'Amicable',k)
它可以工作,但它不打印任何东西。 有什么问题?
【问题讨论】:
-
你的代码缩进正确吗?发布的缩进没有任何意义。此外,对
amicable的前两次调用没有任何意义。你调用它,它返回一个值,然后你丢弃它。您不妨删除这些调用。 -
哦,我解决了这个问题。非常感谢。
标签: python