Seu chefe quer que você escreva um 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, em /codereview//a/117294/61929 )
o que é eficiente e eficiente, mas não divertido de digitar. Como você deseja minimizar o número de pressionamentos de tecla, deve escrever um programa ou função (ou método) mais curto que produz essa função para você (ou retorna uma string para a saída). E como você possui seu próprio teclado unicode de gama completa e personalizado, com todas as 120.737 teclas necessárias para todo o unicode 8.0, contamos caracteres unicode, em vez de pressionar as teclas. Ou bytes, se o seu idioma não usar código fonte unicode.
Qualquer entrada do seu programa ou função conta para a sua pontuação, já que você obviamente precisa digitar isso também.
Esclarecimentos e edições:
- Removido 3 espaços à direita após o último
} - Removido um único espaço à direita após
return - Retornar uma sequência de saída de uma função / método está ok
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1