Ihr Chef möchte, dass Sie folgenden Code schreiben:
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, unter /codereview//a/117294/61929 )
das ist effizient und so, aber nicht so lustig zu tippen. Da Sie die Anzahl der zu drückenden Tasten minimieren möchten, schreiben Sie ein kürzeres Programm oder eine kürzere Funktion (oder Methode), die diese Funktion für Sie ausgibt (oder eine auszugebende Zeichenfolge zurückgibt). Und da Sie Ihre eigene benutzerdefinierte Unicode-Tastatur mit vollem Funktionsumfang haben, die alle 120.737 Tasten enthält, die für Unicode 8.0 erforderlich sind, zählen wir Unicode-Zeichen anstelle von Tastendrücken. Oder Bytes, wenn Ihre Sprache keinen Unicode-Quellcode verwendet.
Jede Eingabe, die Ihr Programm oder Ihre Funktion vornimmt, zählt für Ihre Punktzahl, da Sie diese natürlich auch eingeben müssen.
Erläuterungen und Änderungen:
- 3 nachgestellte Leerzeichen nach dem letzten entfernt
}
- Ein einzelnes Leerzeichen nach entfernt
return
- Die Rückgabe einer Ausgabezeichenfolge von einer Funktion / Methode ist in Ordnung
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1