递归
来源:互联网 发布:淘宝怎样卖虚拟物品 编辑:程序博客网 时间:2024/06/03 17:22
递归:
在方法内部调用方法本身
注意:
1、递归调用必须要有出口,否则就会产生死循环递归,内存溢出
2、递归的次数不宜过多,过多容易产生内存溢出
3、构造方法不能递归调用
代码示例:
/* * 需求:用递归求下列数列的第二十项的值: * 1,1,2,4,7,13,24... * *找出口:出口就是前三项 1 1 2 *找规律:从第四项开始,值是前三项的和 * * 先确定递归方法返回值类型 int * 确定递归方法的参数类型 int * * getName(20)=getName(19)+getName(18)+getName(17) * */public class DiGuiTest {public static void main(String[] args) {System.out.println(getNum(20));}public static int getNum(int count) {if (count == 1 || count == 2) {return 1;} else if (count == 3) {return 2;} else {return getNum(count - 1) + getNum(count - 2) + getNum(count - 3);}}}
/** * 递归调用 * 输入一个数的阶乘 * 规律:n!=n*(n-1)! * @author zsk * */public class NumDemo {public static void main(String [] args){//创建Scanner对象Scanner input=new Scanner(System.in);int num=input.nextInt();int sum=getSum(num);System.out.println(sum);}//求阶乘函数public static int getSum(int num){if(num==1){return 1;}else{return num*getSum(num-1);}}}
0 0
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- android 使用NDK
- flume、kafka、storm常用命令
- 浅谈微信卡券功能开发(1)
- 2015 国际冠军杯 深圳行
- HDOJ Number Sequence 1711【KMP裸题】
- 递归
- Flume对Nginx群集日志收集方案
- BufferedInputStream源码分析
- Template design pattern application in android
- HTML页面简单TAB
- Java4Android-函数的复写
- openkm6.4 Professiona
- surfaceview叠加问题(地图上显示视频)
- C# 异常类 Exception 枚举所有类型的异常