java有很多库可以使用,这些库可以节省很多麻烦,让我们学算法可以更快的掌握思想,所以此系列的教程都是用java写的代码。
快速幂是很多新手在入门阶段遇到的第一个BOSS,主要难点是突然遇到很多新的语法和用法使得新手突然懵逼,无从下手。
首先我们看看普通的幂的计算方法。
public static long pow(long a, int n) {
long result=1;
while (n-- > 0) {
result *= a;
}
return result;
}
普通的计算的过程就是计算n-1次乘法,也就是
要是计算 那就要算50-1=49次乘法,非常麻烦。有什么快捷方法呢?
这时候我们就要用到数学的公式来帮我们优化了。
首先我们看到这么几个公式
我们不妨把50看做25×2,利用公式2逆推可以得到