快速幂算法

来源:互联网 发布:终极斗士 知乎 编辑:程序博客网 时间:2024/06/10 04:33

1.概念

  快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。

2.算法代码

  
package cn.edu.hit;import java.util.Scanner;/** * 快速幂算法 * 利用二进制 * @author admin * */public class Exponentiation {public static void main(String[] args) {Scanner in = new Scanner(System.in);int num = in.nextInt();int n = in.nextInt();int result = 1;while(n>0){if((n & 1)==1){result = result * num;}num = num * num;n = n >> 1;}System.out.println("num的n次方是:"+result);}}