Tu jefe quiere que escribas código como este:
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, en /codereview//a/117294/61929 )
que es eficiente, pero no tan divertido de escribir. Como desea minimizar la cantidad de pulsaciones de teclas que tiene que hacer, escribe un programa o función (o método) más corto que genera esta función por usted (o devuelve una cadena a la salida). Y dado que tiene su propio teclado Unicode de rango completo personalizado con todas las 120,737 teclas necesarias para todo Unicode 8.0, contamos los caracteres Unicode, en lugar de las pulsaciones de teclas. O bytes, si su idioma no usa el código fuente Unicode.
Cualquier entrada que su programa o función tome cuenta para su puntaje, ya que obviamente también tiene que escribir eso.
Aclaraciones y ediciones:
- Se eliminaron 3 espacios finales después del último
} - Se eliminó un solo espacio final después de
return - Devolver una cadena de salida de una función / método está bien
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1