Java之函数递归
来源:互联网 发布:手机端电影网站源码 编辑:程序博客网 时间:2024/04/30 01:55
概念
函数递归的概念:所谓函数递归就是自己调用自己。
经典例题之猴子吃桃问题
猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。 第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。 到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
方法一:(递归方法解决问题)public class Monkey { /* * 理解: 把第十天当成第一天,把第一天当成第十天 * 递推公式: * f(1)=1 => f(2)=2[f(1)+1] => ... => f(n+1)=2[f(n)+1] =>f(n)=[f(n+1)]/2 -1 * ==> f(n)=2*f(n-1)+2 (我们要的递推结果) * */ public static void main(String[] args) { System.out.println(f(10)); } //递归方法解决问题 public static int f(int n) //n是离现在的天数 { if(n==1){ return 1; //只有一天的结果 }else{ return 2*f(n-1)+2; //递推公式 , 利用了递归的原理做的(自己调用自己) } }}
方法二:(循环方法解决问题)public class Monkey { //这是一种逆推的方法,循环实现 public static void main(String[] args) { int initialNum=1; System.out.println(initialNum); //循环方法 for(int i=1;i<10;i++){ initialNum=(initialNum+1)*2; System.out.println(initialNum); } System.out.println("the initial number of peachs is:"+initialNum); }}
1 0
- Java之函数递归
- 递归函数之JAVA演绎
- 递归函数之JAVA演绎(原创)
- [转载]递归函数之JAVA演绎
- 递归之Ackerman函数
- Python之递归函数
- java递归函数
- java 递归函数
- java递归函数
- java递归函数
- java递归函数测试
- java 递归函数
- Java 递归函数
- 系统函数之递归函数
- 递归递推之递归的函数
- JAVA数据结构之递归
- JAVA数据结构之递归
- java之递归调用
- hiho一下 第147周 小Hi的烦恼
- (2.)javaweb问题之xxx cannot be resolved to a type报错信息(总结)
- LeetCode093 Restore IP Addresses
- My sql数据库的增删改查
- 三十九、SpringBoot配置属性之Migration
- Java之函数递归
- Java DecimalFormat 用法
- 递归的理解
- 21. Merge Two Sorted Lists
- 我是如何走上"码农"的
- TeamViewer安装 windows linux MacOS chrome android ios
- 线程池基础
- C++ 中对象的内存模型
- 函数的编写