快速幂的初步认识(Java)
快速幂的初步认识(Java)
快速幂介绍
取模运算的拓展:
1,(a + b) % p = (a % p + b % p) % p
2,(a - b) % p = (a % p - b % p ) % p
3,(a * b) % p = (a % p * b % p) % p
package 分治;
import java.util.Scanner;
public class Main快速幂 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
long base=sc.nextLong();
long power=sc.nextLong();
System.out.println(Mi(base,power));
}
private static long Mi(long base, long power) {
long result=1;
while(power>0){
if (power%2==0){
power=power/2;//指数为偶数,缩小为原