파이썬_실전 프로젝트

프로젝트 오일러 21번문제 - Amicable Number

Amicable Number 라는게 있네요. 한글로는 친화수 또는 우애수라고 하네요.

서로가 다른숫자의 약수의 합이 되는 규칙을 가진 두수를 말합니다. 어디에 쓰이는지는 모르지만, 여튼 특이한 규칙을 가진 숫자들이네요.

Amicable numbers

Let d(n) be defined as the sum of proper divisors of n (numbers less than n which divide evenly into n).
If d(a) = b and d(b) = a, where ab, then a and b are an amicable pair and each of a and b are called amicable numbers.

For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.

Evaluate the sum of all the amicable numbers under 10000.

 

1. 약수의 합을 리턴해주는 함수를 만들고,

2. 리턴되는 값을 다시 함수에 넣어서, 원래의 수와 같아지는  amicable 인지 판단하면, 나머지는 문제에서 원하는 연산을 해주면 되겠네요.

 

코드

풀이

 

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기