しておけば良いだろう。シンプルに書くこともできる。//1System.out.println(length(n));4内容は全く同じで、実行速度も変わらないので、好みの書き方で選べば良い。「10で割る方法」と同じようによく使われるのは、「文字列に変換する方法」だ。場合は文字列変換は負荷が高いので、実行速度は遅くなる。ようなスクリプト言語は文字列変換のスピードは非常に速いので、むしろ「10で割る方法」の方が遅いらしい。if~」の代わりに「while」に書きなおしたら、ここまでの差は出なかった(それでも文字列変換の方がわずかに速い)。他の言語から移植するときのためにも、この手のやり方には慣れておいた方が良いだろう。■べき乗(xk)の桁数を調べる次に、普通に計算したらオーバーフローするような「べき乗の値の桁を調べる方法」をやってみよう。それは(常用)対数関数(Math.log10())を使う方法だ。負荷が高い関数なので、「10で割る方法」の方がよほど速い。整数型では求められない値など、使い分けが必要になるだろう。簡単に対数関数の使い方をおさらいしてみよう。いっても高校の数学の教科書そのままの内容だ(笑)。対数関数と指数関数は裏返しの関数なので、ついでにおさらいしておくとなお良い。以下の問題の解き方を丸暗記してしまえば、わりと簡単に理解できるハズだ。【問】230は何桁の数字か。