def amicable(num):
a = 0
for i in range(3, num):
if num % i == 0:
a = a + i
return a
for j in range(1, 500):
amicable(j)
for k in range(1, 500):
amicable(k)
if amicable(j) == amicable(k) and j != k:
print(j, '의 친화수는', k)
친화수를 구하기 위해 코드를 작성해 보았습니다.
여기서 친화수란 어느 한 수의 진약수를 모두 더하면 다른 수가 되는 것을 말합니다.
EX) 220, 284 인데, 220의 진약수는 1,2,4,5,10,11,20,22,44,55,110이고, 모두 더하면 284가 됩니다. 그리고 이 284의 진약수 1,2,4,71,142를 더하면 220이 됩니다. 이런 수를 친화수라고 하는데요
제가 1부터 500사이의 (먼저 간단하게) 친화수를 구해보려고 코드를 작성해 보았는데
결과가 제대로 나오지 않습니다. 어디가 문제일까요?