PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 63 / べき乗の桁の個数

5桁の数 16807 = 7^5は自然数を5乗した数である。同様に9桁の数 134217728 = 8^9も自然数を9乗した数である。

自然数を n 乗して得られる n 桁の正整数は何個あるか?

Problem 63 - Project Euler


x^n がn桁になる条件は

 10^{n-1} \leqq x^n \leqq 10^n-1

右側の不等式から x ≦ 9 がわかります。左側の不等式が成立するには

 10^{n-1} \leqq 9^n \ \Leftrightarrow\ n-1\leqq n \log_{10}9

が必要。これを解くと n ≦ 22

はじめの不等式を x について解いて,Floor と Ceiling をかぶせて和をとればおしまいです。

 10^{\frac{n-1}{n}}\leqq x\leqq (10^n-1)^{\frac{1}{n}}