2011-10-23 19 views

उत्तर

15

आप पॉव समारोह का उपयोग करने के:

pow(d, 1.0/n) 

enter image description here

+3

यह एक स्पष्ट नाव यहां 'पॉव (घ, 1.0/n)' उपयोग करने के लिए बुद्धिमान हो सकता है के बाद से अन्यथा यह एक पूर्णांक के रूप में n के साथ काम नहीं करेगा। – joerick

+1

अच्छा अवलोकन – fceruti

+0

यह अजीब संख्या (उदा। क्यूबिक) जड़ें और नकारात्मक मानों के लिए काम नहीं करेगा - नीचे मेरा उत्तर देखें। –

3

गणितीय रूप से, x की n-th रूट x/1 की शक्ति के लिए x है।

मुझे नहीं पता कि उद्देश्य-सी का सिंटैक्स क्या होगा, लेकिन मूल रूप से आप एक्सपोनेंट के रूप में 1/n के साथ पावर फ़ंक्शन का उपयोग करना चाहते हैं।

1

अजीब गिने जड़ों के लिए (जैसे घन) और नकारात्मक संख्या, जड़ का परिणाम अच्छी तरह से परिभाषित और नकारात्मक है, लेकिन सिर्फ का उपयोग कर pow(value, 1.0/n) काम नहीं करेगा (आप वापस 'NaN' प्राप्त करें - संख्या नहीं)।

तो, यह बजाय का उपयोग करें:

int f = (value < 0 && (n % 2 == 1)) ? -1 : 1; 
root = pow(value * f, 1.0/n) * f 
संबंधित मुद्दे