Patronunuz böyle bir kod yazmanızı istiyor:
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, /codereview//a/117294/61929 adresinde )
hangi verimli ve böylece, ama yazmak için eğlenceli değil. Yapmanız gereken tuş basma sayısını en aza indirmek istediğiniz için, bu işlevi sizin için veren (veya çıktıya bir dize döndüren) daha kısa bir program veya işlev (veya yöntem) yazarsınız. Ve tüm unicode 8.0 için gerekli 120,737 tuşa sahip kendi özel tam aralıklı unicode klavyeniz olduğundan, tuş basma yerine unicode karakterleri sayıyoruz. Diliniz unicode kaynak kodu kullanmıyorsa veya bayt.
Programınız veya işlevinizle ilgili herhangi bir girdi puanınıza göre sayılır, çünkü bunu da yazmanız gerekir.
Açıklamalar ve düzenlemeler:
- Sondan sonra 3 arka boşluk kaldırıldı
}
- Sonrasında tek bir boşluk kaldı
return
- Bir işlev / yöntemden bir çıktı dizesi döndürmek tamam
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1