코딩 연습

프로젝트 오일러 80번 ( \(\sqrt{2}\)의 소숫점 아랫자리 알아내기) 본문

project euler with python

프로젝트 오일러 80번 ( \(\sqrt{2}\)의 소숫점 아랫자리 알아내기)

코딩아저씨 2016. 3. 15. 15:40
반응형

It is well known that if the square root of a natural number is not an integer, then it is irrational. The decimal expansion of such square roots is infinite without any repeating pattern at all.

The square root of two is 1.41421356237309504880..., and the digital sum of the first one hundred decimal digits is 475.

For the first one hundred natural numbers, find the total of the digital sums of the first one hundred decimal digits for all the irrational square roots.




\(n\) 이 자연수일 때 \(\sqrt{n}\) 이 자연수가 아니라면 \(\sqrt{n}\) 은 무리수가 된다는 것은 잘 알려진 사실이다. 무리수가 된다는 것은 순환하지 않는 무한소수가 된다는 의미이다.

\(\sqrt{2}\) 의 경우 1.41421356237309504880..., 가 되며 소숫점 아래 100번째 자리까지 모든 숫자들의 합은 475가 된다. 

\(\sqrt{n}\) 이 무리수가 되는 처음 100개의 자연수 \(n\)에 대해서 소수점 아래 100번째 자리까지 모든 숫자들의 합을 다 더하면 얼마일까?


이 문제는 \(\sqrt{2}\) 의 소숫점 아래자리를 어떻게 구하는지 알고 있어야만 풀 수 있습니다.

여기서는 그 방법만 소개하도록 하겠습니다.

실제 코딩은 여러분이 해보도록 하세요


일단 그 원리를 설명하는 영상입니다.



위의 원리를 이용하여 소숫점 아랫자리 숫자를 손으로 구할 수 있는 쉬운 방법입니다.



이 방법을 통하여 계속적으로 소숫점 아래자리 숫자들을 구할 수 있고, 80은 쉽게 해결할 수 있습니다.


반응형

'project euler with python' 카테고리의 다른 글

프로젝트 오일러 102번  (0) 2016.03.15
프로젝트 오일러 92번  (0) 2016.03.15
프로젝트 오일러 78번  (0) 2016.03.15
프로젝트 오일러 76번  (0) 2016.03.15
프로젝트 오일러 31번  (0) 2016.03.15


Comments