快速求幂算法,递归实现,其实算法的思想很简单,但是感觉非常经典,这个也是我开始看数据结构与算法分析这本书的开始把,大学期间感觉就得深究一下算法,课堂学习的太肤浅,只能自己干了,当然,也算是打基础吧,以后可能会更加深入呢
package com.bird.two;
/**
* @category 快速求幂算法,递归实现
* @author Bird
*
*/
public class Pow {
public static long pow(long x, int n){
if(0 == n)
return 1;
if(1 == n)
return x;
if(n % 2 == 0)
return pow(x*x, n/2);
else
return pow(x*x,n/2)*x;
}
public static void main(String[] args){
System.out.println(pow(4,3));
}
}