Microsoft MVP성태의 닷넷 이야기
일단... "Project Euler @kr" 88번까지 완료! ^^ [링크 복사], [링크+제목 복사]
조회: 18377
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 3개 있습니다.)

일단... "Project Euler @kr" 88번까지 완료! ^^

우와~~~ ^^ "Project Euler @kr" 웹 사이트에서 오늘 날짜 기준으로 출제된 문제까지 모두 풀었습니다.

인증샷~~~ 나갑니다. ^^ 오~~~ 멋지죠? ^^

euler_problem_1.png

오일러 수학자의 명성과 함께 사이트 소개 자체가 "수학적인 문제"들이라고 해서 긴장했는데, 일단은 65번 정도까지는 별다르게 수학적인 재능이 없어도 "프로그램빨(!)"로 풀 수 있으니... '수학'이란 단어에 걸려 주춤하고 계신 분이 있다면 부담 없이 도전해 보시라고 말씀드리고 싶습니다. ^^




아래는, 프로그래머 입장에서 수학적인 지식이 요구되는 문제들만을 설명해 보았습니다.


66번 - 펠 방정식

66번에서 처음으로 수학적인 지식을 요구하는데요. '디오판토스 방정식' 문제인데 Brute-force 방식으로 했다가는 한 세월 갑니다. 가령 3번째로 큰 x 값이 "3879474045914926879468217167061449"으로 어마어마하기 때문에 이건 아무것도 안하고 for 문만 돌려도 계산이 언제 끝날지 모릅니다. 어쩔 수 없이 '펠의 방정식'에 대해서 공부해야 하는데요. ^^ 다음의 글을 읽어보시면 어떻게 풀어야 할지 해법이 나옵니다.

펠 방정식(Pell's equation)
; http://pythagoras0.springnote.com/pages/4439359

결국, sqrt 값을 알기 위하여 펠 방정식이 근사값을 구하는데 씌여질 수 있고, 그 방정식에 해를 구하기 위해 연분수를 사용할 수 있다는 것이지만... 제 지식으로는 어떻게 '펠 방정식'의 해가 '연분수'와 연관지어지는가에 대해서는 이해가 안되는군요. ^^; 위의 웹 사이트 제목이 '수학이 알고 싶은 중고대딩을 위한 수학 노트'인데... Orz... 왜 난 이해가 안 된단 말인가???


69번, 70번, 72번 - 오일러의 φ(Phi)함수

이 방법이 아닌, 단순하게 공약수 찾는 방법을 사용했다가는 한 세월입니다. (참고로, 오일러 프로젝트의 모든 문제는 1분 안에 답이 나오도록 되어 있다고 합니다.) 오일러의 φ(Phi) 함수에 대해서는 다음의 글을 읽어보시면 도움이 되실 것입니다.

Euler's totient function
; http://en.wikipedia.org/wiki/Totient#Euler.27s_product_formula

혹시나, 여러분들 중에서 70번을 풀었는데 "9708131"이라는 오답이 나왔다면, 아래의 글을 보시면 어디가 잘못 되었는지 힌트를 얻으실 수 있습니다.

Euler's totient function - C#
; https://www.sysnet.pe.kr/2/0/1256


75번 - 피타고라스 수

피타고라스 방정식과 관련해서 9번과 39번 문제가 있었지만, 이번에는 정확하게 피타고라스 수를 생성해내는 방정식을 모르면 (적정한) 시간 내에 문제를 풀 수 없습니다. 이를 위해서는 다음의 글을 공부하시면 됩니다. ^^

피타고라스 수
; http://en.wikipedia.org/wiki/Pythagorean_triple


76번, 78번 - 점화식

76번도 수학적 지식이 요구되지만, 프로그램 실력으로 풀면 다음과 같이 풀립니다.

동전을 여러 더미로 나누는 경우의 수 세기
; https://www.sysnet.pe.kr/2/0/1271

76번과 78번을 풀 수 있으면 77번과 88번도 자연스럽게 해결됩니다.




기타, 제 경우 68번과 79번은 손으로 풀었고, 84번의 경우에는 Simulator로 풀어보라는 회사 동료의 요청에 따라 ^^ 실제로 그것을 만들어서 나온 결과로 답을 냈습니다. (Simulator가 어쨌든 확률적이라 그런지, 첫 번째에 정확하게 답이 나오지는 않았습니다. ^^)

마지막으로 아래는 제가 마인드 맵으로 그려본 80번까지의 문제들간의 관계를 나타낸 것입니다.

xmind-Project-Euler.png





참고로, "Project Euler 영문 사이트"는 371번까지 문제가 있던데... 그건 질려서 못하겠고, 우선 한국 사이트라도 충실히 따라가 봐야겠습니다. (그나저나... 초보적인 수학지식으로 몇 번까지 버틸 수 있을지는 모르겠군요. ^^)

암튼, 영문 "프로젝트 오일러"의 한글화 작업을 해 주고 있는 사이냅소프트(http://www.synap.co.kr/)에 박수를 보냅니다. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/24/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2012-05-02 11시39분
[miing] 재미있네요. 좋은 사이트 소개해 주셔서 감사합니다.
문제를 풀고나서의 만족감도 그렇고, 다른 사람들의 풀이 방법을 보는 것도 자극이 되네요.
80번까지 푸셨다니 대단하십니다!! ^^
[guest]
2012-05-04 10시13분
^^ 은근히 재미있지요. 말씀하신 것처럼, 다른 사람의 문제 풀이에 동기 부여도 되고. 바라건데 100번까지만이라도 버텼으면 좋겠습니다. ^^
정성태

1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...
NoWriterDateCnt.TitleFile(s)
175정성태10/6/200714711BBC 뉴스를 파일로 녹음하는 방법 [2]
174정성태10/3/200712750x64 비스타에서 YBM 폰트 설치
172정성태10/1/200713682The Secret [2]
171정성태9/28/200711876구글의 차세대 사업 승부수는 ‘3D 가상현실’(?) [1]
170정성태9/28/200712421정작 마이크로소프트 스스로는 .NET Framework 을 얼마나 적용하고 있을까? [2]
169정성태9/20/200711870SyncToy 1.4와 비스타 64비트에서의 문제
166정성태9/7/200712344텍스트 편집기로서의 Visual Studio 사용 [2]
165정성태8/27/2007115536.4GB 하드 2개 처분
164정성태8/20/200713009D820 지문 인식 드라이버 - Vista x64
163정성태7/30/200712268에버런 출시일 8월 20일 [4]
162정성태7/18/200712460SSD(Solid State Drive) 의 성능 향상이 얼마나 될까? [2]
161정성태7/18/200712073Vista for x64에서의 페이징 파일 관리 문제
160정성태7/18/200712794지름의 자세가 이 정도는 되어야.
159정성태7/18/200715407D820 - 그래픽 카드 오버 클럭
158정성태7/12/200712884고민... 고민... UMPC... [4]
157정성태7/10/200712921주당 16시간 일하기
156정성태7/8/200713398Vista와 KTF iPlug: 메시지 관리
155정성태6/28/200712001백업! [1]
154정성태6/19/200712785Summer Nights
153정성태6/17/200712326내 직업...! [2]
152정성태6/15/200712075한글 IME 쓰는 방법.
151정성태6/15/200711754끌리는 UMPC들...
150정성태6/11/200711585donga.com[뉴스]-‘중퇴생’ 빌 게이츠 32년 만에 졸업장
149정성태6/10/2007120686.4GB 하드 2개 및 단면 512MB 메모리 처분
146정성태5/26/200711997일반인을 위한 프로그래밍
145정성태5/18/20071368622" LCD 모니터 사용 [4]
1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...