Coding Test/Undefined_Python

[Python] 완전수 구하기

  • -
728x90

전체 코드는 아래에 고이 접어두었습니다

코드를 보기 전에 아래의 풀이를 보고 직접 작성해 보는 것도 도움이 될 수 있습니다

더보기
# 완전수 구하기 문제
def perfect(n):
    sum = 0
    for i in range(1,n):
        if n%i == 0:
            sum+=i
    if n==sum:
        result = 1
    else:
        result = 0
    return result

perfect(3)

 

완전수란?

자기 자신을 제외한 모든 약수들을 더했을 때 자기 자신이 되는 수로

6 = 1+2+3 과 같은 규칙을 가지고 있는 신기한 수 이다

 

코드 작동 순서

함수 내부

  1. n보다 작은 n의 약수를 구하는 대로 합하기
  2. 합한 값이 n과 같으면 완전수이므로 1을
  3. 같지 않으면 완전수가 아니므로 0을 리턴

함수 외부

  1. n에 값을 넣었을 때 return 값 반환

 

작동 순서를 담은 코드( 관련 변수에는 단계 번호만 나타냄 )

더보기
# 완전수 구하기 문제
def perfect(n):
    # 1.
    sum = 0
    # 1. n보다 작은 약수를 구하는 대로 합하기
    for i in range(1,n):
        if n%i == 0:
            sum+=i
    # 2. 합한 값이 n과 같으면 완전수이므로 1을
    if n==sum:
        result = 1
    # 3. 같지 않으면 완전수가 아니므로 0을 리턴
    else:
        result = 0
    return result

# n에 값을 넣었을 때 return 값(result) 반환
perfect(3)

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.