JAVA中递归的概念
2017-08-30 15:43
169 查看
JAVA中递归的概念
说简单点就是方法调用自身方法。给你个例子:
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
public class MonkeyPeach {
//利用递归的方法来求第一天的桃子数,输入参数为天数和当天的桃子数,输出为第一天桃子数
public static int getPeach_Num(int day, int peach_num) {
if (day == 1){
return peach_num;
}else if(day < 1 || peach_num < 0){
return 0;
}else{
return getPeach_Num(day - 1, (peach_num + 1) * 2);
}
}
public static void main(String[] args) {
System.out.println("第一天的桃子数:"+getPeach_Num(10, 1));
}
}
一道数列的规律题(使用递归解决)
/*
* 1,1,2,3,5,8,13,21,....
* 求解第30位数是多少
* */
public class demo1 {
public static int compute(int n){
if(n==1||n==2){
return 1;
}else{
return compute(n-1)+compute(n-2);
}
}
//测试
public static void main(String[] args){
System.out.print(compute(30));
}
}
说简单点就是方法调用自身方法。给你个例子:
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
public class MonkeyPeach {
//利用递归的方法来求第一天的桃子数,输入参数为天数和当天的桃子数,输出为第一天桃子数
public static int getPeach_Num(int day, int peach_num) {
if (day == 1){
return peach_num;
}else if(day < 1 || peach_num < 0){
return 0;
}else{
return getPeach_Num(day - 1, (peach_num + 1) * 2);
}
}
public static void main(String[] args) {
System.out.println("第一天的桃子数:"+getPeach_Num(10, 1));
}
}
一道数列的规律题(使用递归解决)
/*
* 1,1,2,3,5,8,13,21,....
* 求解第30位数是多少
* */
public class demo1 {
public static int compute(int n){
if(n==1||n==2){
return 1;
}else{
return compute(n-1)+compute(n-2);
}
}
//测试
public static void main(String[] args){
System.out.print(compute(30));
}
}
相关文章推荐
- java笔记之数组的概念、声明、初始化、访问方式、复制和动态扩展算法以及递归
- java笔记之数组的概念、声明、初始化、访问方式、复制和动态扩展算法以及递归
- java笔记之数组的概念、声明、初始化、访问方式、复制和动态扩展算法以及递归
- Java递归练习-将字符串中的“x”全部移到这个字符串最后
- Java递归
- JAVA递归实现菲波那切数列数列
- Java线程:概念与原理
- Java测试新技术TestNG和高级概念 ---读后感
- Java线程:概念与原理
- 排列的Java递归语言实现
- Java线程:概念与原理
- Java面试:基础概念
- java(递归)
- 二叉树的几种遍历(递归,非递归)JAVA实现
- Android(java)学习笔记166:Java中输入和输出流概念
- 一个程序理解java二叉树-创建、递归非递归便利、获取路径
- Java中的递归原理分析
- Java面试题精选(一)基础概念和面向对象
- 排列与组合的Java递归实现 (参考)
- 前序中序后序非递归Java版