一、题目 二、思路 三、代码 class Solution { public: double myPow(double x, long long n) { //分为小于0和大于0两种情况 return n<0?1/Product(x,-n):Product(x,n); } double Product(double x,long long n){ //递归终止条件 if(n==0){ return 1.0; } //计算一半的值 double y=Product(x,n/2); return n%2==0?y*y:y*y*x; } };