Sếp của bạn muốn bạn viết mã như thế này:
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, tại /codereview//a/117294/61929 )
đó là hiệu quả và như vậy, nhưng không phải là thú vị để gõ. Vì bạn muốn giảm thiểu số lần nhấn phím bạn phải thực hiện, bạn viết một chương trình hoặc hàm (hoặc phương thức) ngắn hơn để xuất hàm này cho bạn (hoặc trả về một chuỗi cho đầu ra). Và vì bạn có bàn phím unicode toàn dải tùy chỉnh rất riêng của mình với tất cả 120.737 phím cần thiết cho tất cả các unicode 8.0, chúng tôi đếm các ký tự unicode, thay vì nhấn phím. Hoặc byte, nếu ngôn ngữ của bạn không sử dụng mã nguồn unicode.
Bất kỳ đầu vào chương trình hoặc chức năng của bạn đều được tính vào điểm số của bạn, vì rõ ràng bạn cũng phải nhập nó vào.
Làm rõ và chỉnh sửa:
- Đã xóa 3 dấu cách sau lần cuối
}
- Đã xóa một dấu cách đơn sau
return
- Trả về một chuỗi đầu ra từ một hàm / phương thức là ok
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1