package com.cjh.lanqiao;
public class Main52 {
public static void main(String[] args) {
double x = 2;
int n = 10;
System.out.println(fastPower(2, 10));
}
private static double fastPower(int x, int n) {
//快速幂
if (n < 0) {
x = 1 / x;
n = -n;
}
return powerHelper(x, n);
}
private static double powerHelper(int x, int n) {
if (n == 0) {
return 1;
}
double halfPower = powerHelper(x, n / 2);
if (n % 2 == 0) {
//如果是偶数
return halfPower * halfPower;
}else {
//如果是奇数
return x * halfPower * halfPower;
}
}
}
快速幂 -
最新推荐文章于 2026-01-08 17:10:56 发布

670

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



