728x90
반응형
문제 :
자기 자신을 제외한 모든 양의 약수들의 합이 자기 자신이 되 는 자연수를 완전수라고 한다.
파이썬을 활용하여 하나의 정수 n을 매개 변수로 받아 해당 매개 변수 n이 완전수이면 1을 리턴하고 완전수가 아니면 0 을 리턴하는 함수 perfect를 만드시오
- 완전수는 6, 28, 496, 8128 .. 등이라고 합니다.
def perfect(N): # 함수 선언
n_sum = 0 # 합계 변수
for i in range(1, N): # 반복문 입력받은 수까지 반복
if (N % i == 0): # 1 부터 입력 받은 수까지의 수(i) 로 입력받은 수를 나누어 나머지가 0 이면 약수
n_sum += i # 약수들을 합함
if (N == n_sum): # 약수들의 합이 입력받은 수와 같음녀 완전수
return 1 # 완전수
else:
return 0 # 완전수가 아님
n = int(input("숫자를 입력하세요 : "))
result = perfect(n)
print(result)
결과
숫자를 입력하세요 : 6
1
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 두 문자열을 입력 받아 일치하는 문자열 겹치기 (0) | 2022.11.14 |
---|---|
[파이썬] 문제 : 가변인수로 받은 값으로 정렬 (0) | 2022.11.14 |
[파이썬] 문제 : 반지름, 높이 입력받아 원기둥의 표면부피,표면면적 계산 (0) | 2022.11.14 |
[파이썬] 문제 : 2차원 배열에서 행,열별 합계 (0) | 2022.11.13 |
[파이썬] 문제 : 입력 받은 수의 배수가 리스트에 있는지 찾기 (0) | 2022.11.13 |
댓글