ある数値の 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;
}
この問題にアプローチする方法についてのアイデアは、役に立ちます。