완전수

완전수

쉬움

지침

니코마코스(서기 60~120년)가 양의 정수를 분류한 체계에 따라, 어떤 수가 perfect, abundant, deficient 중 어디에 속하는지 판별해요.

그리스 수학자 니코마코스는 양의 정수를 분류하는 체계를 고안했어요. 이 체계는 진약수의 합을 기준으로, 각 수가 perfect, abundant, deficient 중 오직 하나에만 속하도록 분류해요. 진약수의 합은 어떤 수의 약수 중에서 그 수 자신을 제외한 것들을 모두 더한 값이에요. 예를 들어 15의 진약수의 합은 (1 + 3 + 5) = 9예요.

  • perfect: 진약수의 합 = 자기 자신
    • 6은 (1 + 2 + 3) = 6이므로 perfect 수예요.
    • 28은 (1 + 2 + 4 + 7 + 14) = 28이므로 perfect 수예요.
  • abundant: 진약수의 합 > 자기 자신
    • 12는 (1 + 2 + 3 + 4 + 6) = 16이므로 abundant 수예요.
    • 24는 (1 + 2 + 3 + 4 + 6 + 8 + 12) = 36이므로 abundant 수예요.
  • deficient: 진약수의 합 < 자기 자신
    • 8은 (1 + 2 + 4) = 7이므로 deficient 수예요.
    • 소수는 모두 deficient 수예요.

어떤 수가 perfect인지 판별하는 방법을 구현해요. 사용하는 언어 트랙에 따라서는 어떤 수가 abundant인지 deficient인지 판별하는 방법도 함께 구현해야 할 수 있어요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Delphi Pascal Exercism

완전수 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Delphi Pascal 트랙을 연습 문제 76개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.