आपका बॉस चाहता है कि आप इस तरह कोड लिखें:
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;
}
(मार्टिन स्मिथ, /codereview//a/117294/61929 पर )
जो कुशल और ऐसा है, लेकिन टाइप करने के लिए यह मजेदार नहीं है। चूँकि आप अपने द्वारा किए जाने वाले कुंजीपट की संख्या को कम करना चाहते हैं, आप एक छोटा प्रोग्राम या फ़ंक्शन (या विधि) लिखते हैं जो आपके लिए इस फ़ंक्शन को आउटपुट करता है (या आउटपुट के लिए एक स्ट्रिंग देता है)। और जब से आपके पास अपने सभी कस्टम फुल-रेंज यूनिकोड कीबोर्ड हैं , जिनमें से सभी के लिए यूनिकोड 8.0 की आवश्यकता होती है, तो हम कीकोड के बजाय यूनिकोड वर्णों की गणना करते हैं। या बाइट्स, यदि आपकी भाषा यूनिकोड स्रोत कोड का उपयोग नहीं करती है।
आपके प्रोग्राम या फंक्शन का कोई भी इनपुट आपके स्कोर के लिए मायने रखता है, क्योंकि आपको स्पष्ट रूप से इसे टाइप करना होगा।
स्पष्टीकरण और संपादन:
- आखिरी के बाद 3 अनुगामी रिक्त स्थान निकाले
}
- के बाद एक एकल अनुगामी स्थान को हटा दिया गया
return
- फ़ंक्शन / विधि से आउटपुट का एक स्ट्रिंग वापस करना ठीक है
while(input%10==0) input/=10; return input == 1;
0==Math.log10(input)%1