蛋糕网站设计,郑州app推广公司,安徽网站建设信息,网站手机版下悬浮条怎么做实现 pow(x, n) #xff0c;即计算 x 的整数 n 次幂函数#xff08;即#xff0c;xn #xff09;。 暴力方法肯定是循环循环n次#xff0c; 每一次*x 显然此方法遇到大的数字会超时 那么我们要引进一个思想#xff0c;快速幂算法 例如#xff1a; x^97 我们可以看出即计算 x 的整数 n 次幂函数即xn 。 暴力方法肯定是循环循环n次 每一次*x 显然此方法遇到大的数字会超时 那么我们要引进一个思想快速幂算法 例如 x^97 我们可以看出从右向左 每当n为奇数时就会多乘一次x 例如x97 x48 * x48 * x; 当n为偶数时不需要此操作 x48 x24 * x24 ; 由于从0~97 遍历的话 我们不知道何时1 所以我们选择从97~0递归 接下来代码实现
double quickly_pow(double x,long long N)
{if(N0){return 1.00;}else{double yquickly_pow(x,N/2);return N%20?y*y:y*y*x;}
}double myPow(double x, int n)
{long long Nn;return N0?quickly_pow(x,N):1.0/quickly_pow(x,-N);
}