क्या उद्देश्य में एक डबल की nth रूट की गणना करने का कोई तरीका है?एनएच रूट की गणना करें?
मुझे एक उचित कार्य नहीं लग रहा था।
क्या उद्देश्य में एक डबल की nth रूट की गणना करने का कोई तरीका है?एनएच रूट की गणना करें?
मुझे एक उचित कार्य नहीं लग रहा था।
आप पॉव समारोह का उपयोग करने के:
pow(d, 1.0/n)
गणितीय रूप से, x की n-th रूट x/1 की शक्ति के लिए x है।
मुझे नहीं पता कि उद्देश्य-सी का सिंटैक्स क्या होगा, लेकिन मूल रूप से आप एक्सपोनेंट के रूप में 1/n के साथ पावर फ़ंक्शन का उपयोग करना चाहते हैं।
अजीब गिने जड़ों के लिए (जैसे घन) और नकारात्मक संख्या, जड़ का परिणाम अच्छी तरह से परिभाषित और नकारात्मक है, लेकिन सिर्फ का उपयोग कर pow(value, 1.0/n)
काम नहीं करेगा (आप वापस 'NaN' प्राप्त करें - संख्या नहीं)।
तो, यह बजाय का उपयोग करें:
int f = (value < 0 && (n % 2 == 1)) ? -1 : 1;
root = pow(value * f, 1.0/n) * f
यह एक स्पष्ट नाव यहां 'पॉव (घ, 1.0/n)' उपयोग करने के लिए बुद्धिमान हो सकता है के बाद से अन्यथा यह एक पूर्णांक के रूप में n के साथ काम नहीं करेगा। – joerick
अच्छा अवलोकन – fceruti
यह अजीब संख्या (उदा। क्यूबिक) जड़ें और नकारात्मक मानों के लिए काम नहीं करेगा - नीचे मेरा उत्तर देखें। –