乘方--java递归实现--循环实现
2011-11-16 16:22
483 查看
1.主程序
package recursion; //计算乘方 public class Power { static long temp=1; //--------递归实现乘方计算,时间O(logN)---------
public long calculate(long x, int y) { if (y == 1) { return x * temp; } if (y == 2) { return (x * x * temp); } if (y % 2 == 1) { temp = x; } return calculate(x * x, y / 2); } // ------------递归实现乘方,时间O(N)------------------------ public long calculate2(long x, int y) { if (y == 1) { return x; } else return x * calculate2(x, y - 1); } //--------------循环实现乘方,时间O(N)------------------ public long calculate3(long x, int y) { long result = 1; for (int i = 0; i < y; i++) { result = result * x; } return result; } }
2.测试程序
import recursion.Power;
public class App {
/**
* @param args
*/
public static void main(String[] args) {
Power power = new Power();
long result = power.calculate(5, 10);
System.err.println(result);
// ----------------------------
result = power.calculate2(5, 10);
System.err.println(result);
// --------------------
result = power.calculate3(5, 10);
System.err.println(result);
}
}
3.测试结果
9765625
9765625
9765625
相关文章推荐
- Java实现二叉树的递归构建及先序、中序、后序、层序遍历(递归和循环)
- java 递归实现循环比赛日程
- JAVA使用循环和递归方法实现斐波拉切数列
- 多个数组间元素排列组合问题求解(Java实现) 标签: 递归排列组合循环
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)
- Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化
- JAVA下实现二叉树的先序、中序、后序、层序遍历(递归和循环)
- JAVA下实现二叉树的先序、中序、后序、层序遍历(递归和循环)
- 递归三兄弟——数的乘方、背包问题、组合的Java实现
- java实现八皇后问题(递归和循环两种方式)
- 二叉树的遍历(循环及递归实现)——Java
- Java基于循环递归回溯实现八皇后问题算法示例
- 【数据结构与算法】汉诺塔算法——java递归实现
- 最长回文子序列 java递归实现
- [Java实现]Filbonacci斐波那契数列递归带来的问题和改进
- Java实现折半查找(二分查找)的递归和非递归算法
- Fibonacci (斐波那契数列)-循环,递归实现方式
- Java 递归调用 最简单计算1-n的和,不用使用循环语句,一条语句搞定
- 二叉树的遍历 递归非递归 思路和 java实现