반응형
완전수는 자신을 제외한 약수의 합이 자신과 같은 수를 의미합니다. 예를 들어, 6은 1, 2, 3의 약수를 가지며, 이 약수들의 합(1+2+3)이 6이므로 6은 완전수입니다.
파이썬을 이용하여 특정 범위 내의 완전수를 찾는 코드를 작성해보겠습니다.
여기서는 예제로 1부터 10,000까지의 수 중에서 완전수를 찾아보겠습니다.
1.
def is_perfect_number(n):
if n < 2:
return False
divisors = [1]
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
divisors.append(i)
if i != n // i:
divisors.append(n // i)
return sum(divisors) == n
perfect_numbers = [n for n in range(1, 10001) if is_perfect_number(n)]
print(perfect_numbers)
(결과)
[6, 28, 496, 8128]
2.
def find_factors(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
return factors
perfect_numbers = []
for num in range(1, 10001):
factors = find_factors(num)
if sum(factors) == num:
perfect_numbers.append(num)
print("1부터 10000까지의 완전수는:", perfect_numbers)
(결과)
[6, 28, 496, 8128]
C언어, 완전수 구하기
https://gonyzany.tistory.com/140
반응형
'Python' 카테고리의 다른 글
(파이썬) 여러 개의 자동차를 랜덤하게 이동시킨다 (1) | 2024.05.01 |
---|---|
(파이썬) tkinter 숫자 맞히기(맞추기) 게임 (1) | 2024.04.04 |
(파이썬) 틱택토 Tic-Tac-Toe 게임 만들기 (43) | 2024.03.28 |
(파이썬) 지정한 폴더의 파일 목록 출력하기 (하위디렉토리 포함) (41) | 2023.12.26 |
(파이썬) 터틀그래픽: 랜덤하게 별 그리기 (94) | 2023.12.18 |