तो मैं एक नौकरी के साक्षात्कार में चला गया और वे मुझसे पूछा एक सफेद बोर्ड पर एक त्वरित गणित शक्ति विधि लिखने के लिए और यह है कि क्या मैं डाल दिया है वहाँमेरी जावा पावर विधि की क्षमता?
public static double pow(double base, double power) {
double result = 1.0;
for(double x = 0; x < power; x++) {
result = result * base;
}
return result;
}
यह काम किया है और वे इसे से संतुष्ट थे, लेकिन फिर मुझसे पूछने के लिए आगे बढ़े कि मैं इसे और अधिक कुशल कैसे बना सकता हूं और मुझे कोई प्रतिक्रिया नहीं मिली। तो मेरा सवाल यह है कि, क्या आप इससे अधिक कुशल हो सकते हैं या क्या मुझे थोड़ा पसीने के लिए सिर्फ एक प्रश्न था? मैं सोच रहा हूं कि कुछ प्रत्यक्ष बिट स्थानांतरण समाधान हो सकता है लेकिन मुझे बिल्कुल यकीन नहीं है, मुझे लगता है कि केवल 2 की शक्तियों के लिए लागू होगा? कोई विचार?
* संपादित खेद है कि मैं यह है कि विधि हस्ताक्षर मुझे दिया गया (इनपुट के रूप में डबल्स) और मुझे बताया गया था मैं किसी भी अंतर्निहित गणित पुस्तकालयों का उपयोग नहीं कर सकता है उल्लेख करना भूल गया।
'परिणाम * = आधार; 'पहली चीज है जो स्प्रिंग्स को दिमाग में रखती है। – John3136
यकीन नहीं है, शायद रिकर्सन या गतिशील प्रोग्रामिंग के साथ कुछ करना है? –
@ निकेर्लो रिकर्सन इसके लिए अतिरिक्त लोड काम होगा। – Smit