자기 자신을 제외한 모든 양의 약수들의 합이 자기 자신이 되는 자연수를 완전수라고 한다. 예를 들면, 6과 28은 완전수이다. 6=1+2+3 // 1,2,3은 각각 6의 약수 28=1+2+4+7+14 // 1,2,4,7,14는 각각 28의 약수
입력으로 자연수 N을 받고, 출력으로 N 이하의 모든 완전수를 출력하는 코드를 작성하라.
N = int(input("자연수를 입력해주세요: "))
def perfect_number(N):
perfect_num = []
for num in range (1, N+1):
sum = 0
for i in range(1, num):
if num%i == 0:
sum += i
else: pass
if sum == num:
perfect_num.append(sum)
return perfect_num
print(perfect_number(N))
완전수 구하기 - 코딩도장 (codingdojang.com)
'CodingTest > 코딩 도장' 카테고리의 다른 글
[파이썬]Dash Insert (1) | 2022.10.03 |
---|---|
[파이썬]2진법으로 자연수 나타내기 (0) | 2022.10.03 |
[파이썬]1~1000에서 각 숫자의 개수 구하기 (0) | 2022.10.02 |
[파이썬]Special Sort (0) | 2022.10.02 |
[파이썬]Duplicate Numbers (0) | 2022.10.02 |