我需要如何獲得某個數的第n個根的幫助。使用分治法找到一個數的第n個根
用戶輸入他想要的號碼n和號碼。我需要解決這個問題,不用cmath lib和分而治之的方法。
這裏是我的代碼,還沒有工作:
#include<iostream>
using namespace std;
float pow(float a,float c){
if (a == 0)
return 0;
else if(a == 1)
return 1;
else{
float p = pow(a,(c/2));
if(c%2)
return p*p*a;
else
return p*p;
}
}
int main(){
float a,b;
float c;
cout << "Enter positive number:(base)" << endl;
do{
cin >> a;
}while (a < 0);
cout << "Enter number: (root)" << endl;
cin >> b;
c = 1/b;
cout << "Result:"<<pow(a,c) << endl;
system("pause");
return 0;
}
對如何處理這個問題會比更多有用的任何想法。
帶'c%2'的行不應該編譯。 –