基础 递归练习
2017-05-08 13:37
239 查看
1、有一个农场在第一年的时候买了一头刚出生牛,这头牛在第四年的时候就能生一头小牛,以后每年这头牛就会生一头小牛。
这些小牛成长到第四牛又会生小牛,以后每年同样会生一头牛,假设牛不死,如此反复。请问50年后,这个农场会有多少头牛?
首先定义最终终止条件f(4)=1;
然后定义递归公式中f(n)=f(n-1)+f(n-3)。
2、有个莲花池里起初有一只莲花,每过一天莲花的数量就会翻一倍。假设莲花永远不凋谢,30天的时候莲花池全部长满了莲花,
请问第23天的莲花占莲花池的几分之几?
首先定义最终终止条件f(30)=1;
然后定义递归公式中f(n)=f(n+1)*0.5。
结果:0.0078125
这些小牛成长到第四牛又会生小牛,以后每年同样会生一头牛,假设牛不死,如此反复。请问50年后,这个农场会有多少头牛?
首先定义最终终止条件f(4)=1;
然后定义递归公式中f(n)=f(n-1)+f(n-3)。
public class Test { public static int f(int x){ if(x>0&&x < 4){ return 1; }else { return f(x-1)+f(x-3); } } public static void main(String[] args) { System.out.println(f(50)); } } 结果:83316385
2、有个莲花池里起初有一只莲花,每过一天莲花的数量就会翻一倍。假设莲花永远不凋谢,30天的时候莲花池全部长满了莲花,
请问第23天的莲花占莲花池的几分之几?
首先定义最终终止条件f(30)=1;
然后定义递归公式中f(n)=f(n+1)*0.5。
1 public class Test { 2 public static double f(double x){ 3 if(x==30){ 4 return 1; 5 }else{ 6 return f(x+1)*0.5; 7 } 8 } 9 public static void main(String[] args) { 10 System.out.println(f(23)); 11 } 12 13 }
结果:0.0078125
相关文章推荐
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 递归基础练习2
- 递归调用输出元素 分类: python 小练习 python基础学习 2013-06-30 11:54 278人阅读 评论(0) 收藏
- 基础练习 FJ的字符串(递归)
- python基础练习--利用递归方法求阶乘!
- 蓝桥杯 基础练习 Sine之舞 【递归简单运用】
- 【备战蓝桥杯】【递归】【C语言】【BASIC-22基础练习 FJ的字符串】
- 递归基础练习
- Java基础复习(四)-递归练习
- 蓝桥杯练习/(递归)基础练习 FJ的字符串
- 蓝桥杯 基础练习 2n皇后问题 递归
- JAVASE基础-day23(递归练习)
- 蓝桥杯练习/ (递归)基础练习 Sine之舞
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- 【备战蓝桥杯】【递归】【C语言】【BASIC-21基础练习 Sine之舞】
- 蓝桥杯 基础练习 Sine之舞 Java 递归
- PHP基础练习源码
- 基础算法--递归(一)
- 从基础概念解释“伪”递归