あなたの上司は、次のようなコードを書くことを望んでいます。
public static boolean isPowerOfTen(long input) {
return
input == 1L
|| input == 10L
|| input == 100L
|| input == 1000L
|| input == 10000L
|| input == 100000L
|| input == 1000000L
|| input == 10000000L
|| input == 100000000L
|| input == 1000000000L
|| input == 10000000000L
|| input == 100000000000L
|| input == 1000000000000L
|| input == 10000000000000L
|| input == 100000000000000L
|| input == 1000000000000000L
|| input == 10000000000000000L
|| input == 100000000000000000L
|| input == 1000000000000000000L;
}
(Martin Smith、https://codereview.stackexchange.com/a/117294/61929)
これは効率的ですが、入力するのは面白くありません。キーを押す回数を最小限に抑えるため、この関数を出力する(または出力に文字列を返す)短いプログラムまたは関数(またはメソッド)を作成します。また、Unicode 8.0のすべてに必要な120,737個のキーをすべて備えた独自のカスタムフルレンジUnicodeキーボードを使用しているため、キー押下ではなくUnicode文字をカウントします。または、あなたの言語がユニコードソースコードを使用していない場合、バイト。
プログラムや関数の入力はすべてスコアにカウントされます。明らかに入力する必要があるためです。
明確化と編集:
- 最後の3つの末尾のスペースを削除しました
} - 後に単一の末尾スペースを削除しました
return - 関数/メソッドから出力の文字列を返すことは問題ありません
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1