프로그래밍/알고리즘
[Projet Euler 231] 조합의 소인수분해
daewonyoon
2009. 2. 13. 16:20
반응형
문제
이항계수 10C3 = 120 이다.
120 = 23 × 3 × 5 = 2 × 2 × 2 × 3 × 5 이고, 2 + 2 + 2 + 3 + 5 = 14 이 된다.
즉 10C3 의 소인수분해하여 나온 인자의 합은 14이다.
20000000C15000000 의 소인수분해 인자의 합을 구하라.
http://projecteuler.net/index.php?section=problems&id=231
풀이법.
130! 마지막엔 0이 몇 개 있는지를 풀어내는 방법을 응용한다. 사실 동일한 거다.
일반적으로 m! 에 소수 p가 몇 개 있는지 구하는 식은 [m/p] + [m/(p*p)] + [m/(p*p*p)] + [m/(p*p*p*p)] + ... 이다. nCm = n!/((m!)((n-m)!)) 이다.
소스.
invalid-file
이항계수 10C3 = 120 이다.
120 = 23 × 3 × 5 = 2 × 2 × 2 × 3 × 5 이고, 2 + 2 + 2 + 3 + 5 = 14 이 된다.
즉 10C3 의 소인수분해하여 나온 인자의 합은 14이다.
20000000C15000000 의 소인수분해 인자의 합을 구하라.
http://projecteuler.net/index.php?section=problems&id=231
풀이법.
130! 마지막엔 0이 몇 개 있는지를 풀어내는 방법을 응용한다. 사실 동일한 거다.
일반적으로 m! 에 소수 p가 몇 개 있는지 구하는 식은 [m/p] + [m/(p*p)] + [m/(p*p*p)] + [m/(p*p*p*p)] + ... 이다. nCm = n!/((m!)((n-m)!)) 이다.
소스.

파이썬 소스다운로드
728x90