資料結構與演算法-->冪運算的不同實現
阿新 • • 發佈:2018-12-05
package test; public class Miyunsuan { public static void main(String[] args) { System.out.println(pow2(2,4)); } /** * 普通遞迴演算法,依次遞乘 * @param x * @param y * @return */ public static long pow1(int x, int y){ if(y == 1){ return x; } return x*pow1(x,y-1); } /** * 高效遞迴演算法(減少了乘法的次數) * @param x * @param y * @return */ public static long pow2(int x, int y){ if(y == 0){ return 1; } if(y == 1){ return x; } if(y%2 == 0){ return pow2(x*x,y/2); }else{ return pow2(x*x,y/2)*x; } } }
高效遞迴演算法的分析如下