Microsoft MVP성태의 닷넷 이야기
일단... "Project Euler @kr" 88번까지 완료! ^^ [링크 복사], [링크+제목 복사]
조회: 18376
글쓴 사람
정성태 (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)
201정성태4/11/2008117382008년 4월 10일 - IE ActiveX 활성화 패치 포함
200정성태4/4/200811813흔치 않은 불펌 사례 [2]
199정성태3/28/200811644Motion Portrait [1]
198정성태3/16/200812639다음 BGM 음악과 Windows Vista / Server 2008 호환성 문제
197정성태3/16/200813496Lineage2와 AMD x64
196정성태3/10/200812553FLV Player
195정성태3/8/200812734BGT 2007 - 폴 포츠에 대해 아시나요? [2]
194정성태2/21/200814644구글에 주민 등록 번호 검색 [5]
193정성태2/5/200813505What the Bleep Do We Know?
192정성태2/5/200813290XAML이 뭘까? [4]
190정성태2/1/200812943Windows Vista와 Me를 비교? - 두 번째 이야기
189정성태12/26/200712615You mean, you have computers in Taiwan?
188정성태12/16/200714595인기 순위 정리
187정성태12/9/200715446XPS(MXDW) 삭제 또는 재설치
186정성태12/5/20071236116TB 파일을 생성하는 데 걸린 시간. [2]
185정성태12/3/200712269Is OneNote for everyone?
184정성태11/25/200717306μTorrent - 다운로드 속도를 위한 업로드 속도 조정 [1]
183정성태11/25/200713204XP Home Edition이 Quad-Core CPU를 지원할까? [1]
182정성태11/9/200713004"아버지의 날" 이 있었나요?
181정성태11/4/200712849HSDPA Q1 Ultra 소식 [1]
180정성태11/4/20071678964비트 동영상 코덱 설치 [2]
179정성태10/26/200711596'아이폰'에는 얼마나 위험한 물질이 있는 걸까
178정성태10/10/200711816Petzold 아저씨(?)의 결혼 소식
177정성태10/8/200714006한글 주소를 영문 주소로 변환해 주는 서비스 [1]
176정성태10/6/200712505Podcasting with Windows Media Player
175정성태10/6/200714710BBC 뉴스를 파일로 녹음하는 방법 [2]
1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...