챔퍼나운(Champernowne) 상수의 특정 자리 숫자는? (프로젝트 오일러 #40)
정규수(Normal number)라는 개념이 있다.그리고, 극단적인 정규수로 챔퍼나운 상수(Champernowne's constant)가 있다. 이 문제는 챔퍼나운 상수의 1, 10, 100, 1000, 10000, 100000, 1000000 자리 숫자의 곱을 구하는 문제다.근데, 정규수와 챔퍼나운 상수의 수학적 의미와 별개로 이 문제는 숫자만 나열하면 되는 문제라 의외로 쉽다. 처음부터 일일이 다 늘어놓는 방법도 있지만, 그건 좀 심하고, 조금만 생각을 해보면 계산을 많이 줄일 수 있다. 1. 1~9자리는 그대로 1~9임2. 10~99의 90개는 2자리임3. 100~999의 900개는 3자리임, 이후도 같은 규칙임 이런 규칙들을 염두에 두면 대략 아래와 같은 코드가 나온다. #include #incl..