9^5 = 59049 이므로, 자리수를 늘려도 가능한 증가폭은 최대 59049 이다. 즉 10만자리대 수까지만 계산해볼 의미가 있다. 다 구한 다음 1은 sum이 아니므로 빼준다.
조합(combination)을 구하는 코드는 처음으로 직접 짜 보았다. 원래는 오일러 30번을 풀기 위해 짰는데 다 짜고 나서 보니 조합을 구할 필요가 전혀 없는 문제다 ㅡㅡ;; 20C5 를 구하는 코드.
cpp, combination
소인수분해 결과를 담을 수 있는 자료구조를 생각해보자. 수들을 소인수분해 시킨다음, 그 결과가 기존것에 있는지 비교하면 된다.
projecteuler, cpp
구하려는 꼭지점 수가 일정 간격으로 뛰어 나오고, 뜀 간격은 4번의 뜀마다 늘어나고 있음을 알면 쉽게 풀린다.
단순하게 푼 euler 27번. 그냥 -999 ~ 999 의 a/b에 대해 모든 경우의 수를 구해서 풀었다. 소수를 저장해두면 그나마 빠르게 풀 수 있다. 실행시간은 8초정도 걸린다.
피보나치 수열에서 처음으로 1000자리가 되는 항은 몇 번째? [eng][kor]
projecteuler, cpp
100! 의 자리수를 모두 더하면? [eng][kor]
projecteuler, cpp
2^1000의 각 자리수를 모두 더하면? [eng][kor]
projecteuler, cpp