leetcode-50. Pow(x, n)
题目:
代码:
#include <iostream>
using namespace std;
double quickMul(double x,long n){
if(n==0){
return 1;
}
double y=quickMul(x,n/2);
return n%2==0?y*y:y*y*x;
}
double myPow(double x, int n) {
double res=1;
int flag=0;
long N=n;
if(n==0){
return res;
}else if(x==1){
return res;
}else if(n<0){
flag=1;
N=-N;
}
res=quickMul(x,N);
if(flag==1){
res=1/res;
}
return res;
}
int main(){
double res;
double x;
int n;
cin>>x>>n;
res=myPow(x, n);
cout<<res;
return 0;
}