티스토리 뷰
너무 오랜만에 ProjectEuler를 풀어보네요.... 나름 수월하게 12번을 풀기는 했지만 너무 오래걸렸.....
더군다나 다른분들 소스코드를 이해하는데는 조금 오래걸리네요...ㅠㅠㅠㅠ(자주 해야할듯ㅜㅜㅜㅜ)
다른분들 푸신걸 보니 여러방법이 있어서 그 중 맘에 드는 공식(?) 으로 나름대로 짜 봤습니다.
문제 :
1부터 n까지의 자연수를 차례로 더하여 구해진 값을 삼각수라고 합니다.
예를 들어 7번째 삼각수는 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28이 됩니다.
이런 식으로 삼각수를 구해 나가면 다음과 같습니다.
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
이 삼각수들의 약수를 구해봅시다.
1: 1
3: 1, 3
6: 1, 2, 3, 6
10: 1, 2, 5, 10
15: 1, 3, 5, 15
21: 1, 3, 7, 21
28: 1, 2, 4, 7, 14, 28
위에서 보듯이, 5개 이상의 약수를 갖는 첫번째 삼각수는 28입니다.
그러면 500개 이상의 약수를 갖는 가장 작은 삼각수는 얼마입니까?
12번.c :: 첫번쨰는 차례대로 나누어 떨어지는지 확인 하는 것이고,
12번_1.c :: 두번째는 소수를 구하는 방법을 이용해서 보다 단시간에 결과값이 나옵니다.
'WarGame > ProjectEuler' 카테고리의 다른 글
ProjectEuler 11번 (0) | 2018.12.20 |
---|---|
ProjectEuler 10번 (0) | 2018.12.20 |
ProjectEuler 9번 (0) | 2018.12.20 |
ProjectEuler 8번 (0) | 2018.12.20 |
ProjectEuler 7번 (0) | 2018.12.20 |