너무 오랜만에 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..
ProJectEuler 11.c 문제 : 아래와 같은 20×20 격자가 있습니다. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 1..
Nacht98 2017.10.19 22:21 수정 발행 삭제 문제 : 10 이하의 소수를 모두 더하면 2 + 3 + 5 + 7 = 17 이 됩니다. 이백만(2,000,000) 이하 소수의 합은 얼마입니까? 해설 : 거짓말 않치고 한 40분 걸린듯 하네요.... 컴퓨터 성능도 별로 않좋아서... 에라테네토스 채 로 접근하면 그나마 빠르다고들 하니 앞으로 한번 해봐야 겠음!!! 에라테네토스 채 : 소수 구하는 방식 ProjectEuler10번.c
문제 : 세 자연수 a, b, c 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a < b < c ). 예를 들면 32 + 42 = 9 + 16 = 25 = 52이므로 3, 4, 5는 피타고라스 수입니다. a + b + c = 1000 인 피타고라스 수 a, b, c는 한 가지 뿐입니다. 이 때, a × b × c 는 얼마입니까? 해설 : math.h 함수를 사용할까 하다가 그냥 함. math,h 를 사용해도 충분히 가능 할듯. ProjectEuler9번.c
ProjectEuler8번.c 문제 : 다음은 연속된 1000자리 숫자입니다 (읽기 좋게 50자리씩 잘라놓음). 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276614282806444486645238749 30358907296290491560440772390..
문제 : 1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합). 12 + 22 + ... + 102 = 385 1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱). (1 + 2 + ... + 10)2 = 552 = 3025 따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다. 그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까? 해설 : |제곱의 합| - |합의 제곱| = result ProjectEuler6번.c
ProjectEuler4번.c 문제 : 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다. 두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다. 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 해설 : 첨부파일에 있음. 거의 노가다 형식으로 풀었는데 다른사람 풀이를 보니...ㄷ... 훨씬 쉽게 나와있... 다른사람꺼 소스 이해하는데만 한 30분 넘게 걸린듯... 다른사람 소스) #include int main() { int temp,num=0,answer,a=8,b; for (int i = 100; i < 1000; i++) { for (int j = 100; j < 1000; j++) { t..