package com.cjh.binarysearch;
//快速幂
public class FastPower {
public static void main(String[] args) {
System.out.println(mypow(2,16));
}
private static double mypow(double x, int n) {
// 运用递归的思想
if(n == 1) {
return x;
}
double y = mypow(x, n / 2);
if (n % 2 == 0) {
//n如果是偶数情况
return y*y;
}else {
//n如果是奇数情况
return x*y*y;
}
}
}
快速幂是一种用于高效计算的算法,它的时间复杂度为,相比朴素的时间复杂度的方法,在计算较大指数的幂时效率更高。以下是快速幂算法的原理及实现方式

670

被折叠的 条评论
为什么被折叠?



