Euler : Problem 63

Posted by YpsilonTAKAI On 2011年11月19日土曜日 0 コメント
XのN乗を考えたとき、Xの桁数nがNと同じになるような、ものはいくつあるかという問題。

最初、なんのことかよくわからなかった。

1の場合は、
 1^1 =1、1^2=1、1^3=1 ....   となって1^1だけ。
2の場合は、
 2^1 =1、 2^2=4 、 2^3=8 ...  となってこれも2^1だけ。
おやー。 で、昼休みが終り。

次の日、あっと思って、基数を動かして書いてみた。

1^1=1、2^1=1、3^1=3、.... 9^1=9、10^1=10 ...  となって、1から9。
1^2=2、2^2=4、3^2=9、4^2=16、5^2=25、.... 9^2=81、10^2=100 ... となって、4から9。

考えてみれば、Xが10のとき、10^nは、かならずn+1桁になってしまうので、Xは1桁の数でしかありえない。
この先を手で計算してもできそうだったけど、プログラムにしてみた。




- digits-of-pow
  xのn乗数の桁数を返す。

- pe63
  xを1から9の数として、それぞれのxについて、1以上の整数nについて桁数を調べる。


forじゃなくてmapにしたほうがらしかったかな。


0 コメント:

コメントを投稿