递归函数及Java范例
来源:互联网 发布:java软件培训机构 编辑:程序博客网 时间:2024/05/22 16:43
首先看看这两篇文章:
递归函数之JAVA演绎--http://blog.csdn.net/lxgljj/archive/2004/10/21/145147.aspx
数据结构与面向对象程序设计—— C++版(第3版) 9.1 递归函数 --http://book.csdn.net/bookfiles/461/10046116316.shtml
如第二篇文章所说:
设计递归算法,一定要有结束的条件,同时找到反复出现的一个模式。
附上的Java代码中的代码单元来自上两篇文章,但是我综合在了一起
递归函数之JAVA演绎--http://blog.csdn.net/lxgljj/archive/2004/10/21/145147.aspx
数据结构与面向对象程序设计—— C++版(第3版) 9.1 递归函数 --http://book.csdn.net/bookfiles/461/10046116316.shtml
如第二篇文章所说:
递归思想
假设一个问题有一个或多个分支条件,而其中的某些子任务是最开始时试图解决的同一问题的简单版本,那么这些子任务通过递归调用来解决。
函数在进行递归调用时,必须要有一个或多个分支条件,在这些分支条件内,整个计算不需要递归来完成。这些没有递归的分支条件称为停止条件或基本条件。
设计递归算法,一定要有结束的条件,同时找到反复出现的一个模式。
附上的Java代码中的代码单元来自上两篇文章,但是我综合在了一起
- //计算斐波那契数列
- class test1 {
- int func(int x) {
- if (x > 2)
- return (func(x - 1) + func(x - 2));
- else
- return 1;
- }
- }
- //计算若一头小母牛,从出生起第四个年头开始每年生一头母牛,按次规律,第n年时有多少头母牛?
- class test2 {
- int cattle(int n){
- if(n<=0) return 0;
- if(n<=3) return 1;
- return cattle(n-1)+ cattle(n-3); //此处是递归要好好理解。
- }
- }
- //纵向输出数字的每位
- class test3 {
- void write_vertical(int number){
- if (number < 10)
- System.out.println(number); // Write the one digit.
- else {
- write_vertical(number/10); // Write all but the last digit.
- System.out.println(number % 10); // Write the last digit.
- }
- }
- }
- public class recursion {
- public static void main(String[] args){
- int x1 = 1;
- int sum = 0;
- int n = 5;
- test1 t1 = new test1();
- for (int i = 1; i <= n; i++) {
- x1 = t1.func(i);
- System.out.print(x1+":");
- sum = sum + x1;
- }
- System.out.println("sum=" + sum);
- int catYear = 15;
- test2 t2 = new test2();
- System.out.println("test2:"+t2.cattle(catYear));
- int testNumber =1234;
- test3 t3 = new test3();
- System.out.println("test3:"+testNumber);
- t3.write_vertical(testNumber);
- }
- }
- 递归函数及Java范例
- Java数组 及应用范例
- DELPHI常用函数集及简要范例
- DELPHI常用函数集及简要范例
- DELPHI常用函数集及简要范例
- DELPHI常用函数集及简要范例
- erlang函数说明及使用范例
- windows sockets TCP基础函数及范例
- Linux socket 基础函数及使用范例
- 递归函数及memset函数
- Java Web mvc概念及范例
- 【Java多线程】死锁范例及解决办法
- Java连接Oracle数据库函数+测试范例
- Java 调用 Javascript 函数的范例
- 黑马程序员----Java中递归函数的使用及递归程序的缺点
- java递归函数
- java 递归函数
- java递归函数
- 在MasterPage中使用javascript获取对象
- (工具ffmpeg)视频转换为flv格式,视频截取图片
- RFT脚本运行时IE异常关闭的问题
- 程序员如何学习计算机英语
- asp.net+javascript+css(模仿google的拖拽的个性网页布局)
- 递归函数及Java范例
- 开始写博客了
- 分布式计算开源框架Hadoop入门实践
- 蔡军生先生第二人生的源码分析(七十六)判断程序运行多个实例
- binutils-2.18/ld/Makefile分析
- 蔡军生先生第二人生的源码分析(七十七)CProcessor类实现获取CPU信息
- JTable常见用法细则
- 蔡军生先生第二人生的源码分析(七十八)LLOSInfo类实现获取操作系统信息
- PowerDesigner教程(一)概念数据模型