Ваш начальник хоче, щоб ви написали такий код:
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;
}
(Мартін Сміт, /codereview//a/117294/61929 )
що ефективно і так, але не так весело. Оскільки ви хочете мінімізувати кількість натискань клавіш, які вам потрібно зробити, ви пишете більш коротку програму або функцію (або метод), яка виводить цю функцію для вас (або повертає рядок до виводу). А оскільки у вас є власна спеціальна клавіатура однокадрового повного діапазону з усіма 120 737 клавішами, необхідними для всіх Unicode 8.0, ми рахуємо символи unicode замість натискання клавіш. Або байти, якщо ваша мова не використовує вихідний код unicode.
Будь-який вхід вашої програми чи функції зараховується до вашого рахунку, оскільки, очевидно, ви також повинні ввести це.
Роз'яснення та редагування:
- Видалено 3 пробіли після останнього
}
- Видалено єдиний пробіл після
return
- Повернення рядка виводу з функції / методу нормально
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1