project euler 63

問題

自然数をn乗したものがn桁になるものはいくつあるか。

考え方

自然数をaとすると、
10^{n-1}<=a^n<10^n
を満たすので、変形すると、
(n-1)/n <= log10(a), log10(a)<1
を満たさなければいけない。

aは自然数なので、右側の不等式から、1〜9までを調べればよい。
各aについて、nを1から(n-1)/n <= log10(a)を満たす間全探索する。