Microsoft MVP성태의 닷넷 이야기
일단... "Project Euler @kr" 88번까지 완료! ^^ [링크 복사], [링크+제목 복사]
조회: 18387
글쓴 사람
정성태 (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)
473정성태1/14/201415230Google+ Hangouts 대신 예전의 구글톡(Google Talk)을 사용하고 싶다면? [1]
472정성태1/11/201424570Wacom BAMBOO 태블릿 - 우 클릭이 안되거나 좌표가 어긋나는 문제 [5]
471정성태1/9/201418576우와~~~ 2014년 새로운 PC를 장만했습니다. ^^ [2]
470정성태1/9/201419500Wacom BAMBOO 태블릿 - 클릭이 더블 클릭으로 처리되는 문제
469정성태1/2/201417975ATI - DVI에서 HDMI 케이블로 바꿨는데 화면 축소 현상
467정성태1/1/201418726개발자 여러분들에게 추천하는 상품 - 책상용 팔걸이 레스트보드(RESTBOARD) [4]
466정성태11/27/201320297제니퍼소프트는... [3]
464정성태11/5/201315183사파리 웹 브라우저의 메모리 leak 현상 [4]
463정성태10/31/201314744Adobe Reader로 PDF 파일 저장할 때 CPU 100%치는 현상
462정성태10/30/201318257우와~~~ 성태가 책을 썼습니다. ^^ [9]
461정성태9/19/201313703TED 강연 - Marla Spivak: Why bees are disappearing
460정성태8/14/201319975PC의 시간이 맞지 않는 경우, CMOS 배터리 교체 [2]
459정성태8/11/201315142TED 강연 - 에이미 커디(Amy Cuddy): 당신의 신체 언어가 자신의 모습을 결정한다.
458정성태5/11/201315253생각의 전환: 1. 개인 인공위성을 만든 미디어 아티스트 송호준 [3]
457정성태4/1/201317782삼성 노트북 - 고성능 전원 옵션에서 액정 화면이 어두운 경우
456정성태3/11/201316970재미있는 수학 문제 하나: x = y 일때 2 = 1 ? [3]파일 다운로드1
455정성태3/7/201318567윈도우 서버 2012에서 플래시가 동작하지 않는 경우
454정성태1/23/201314823네이버의 애드포스트 수익이 해피빈으로도 전환된다는 사실! 아시나요? [2]
453정성태1/23/201325418윈도우 8/2012 업데이트 후 Windows.old 폴더 삭제하는 배치 명령어 [6]
452정성태1/21/201325679시스템 트레이에 블루투스 아이콘 나오게 하는 방법 [1]
451정성태1/16/201314708세상을 바꾸는 노력 - 정치후원금
450정성태12/31/201215431유연한 개발자의 2013년 새해 인사 [7]
449정성태12/21/201222307새로운 노트북 - 삼성 센스 NT700Z5C-S88 크로노스 [2]
448정성태12/14/201218669유튜브(Youtube) 비디오 파일을 안전하게 다운로드 받는 방법 [1]
447정성태12/14/2012140694분짜리 Ad-Movie 입니다.
446정성태10/28/201233147오피스 2013 한글 버전 설치
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...