数兔子

/**
* 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
  程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
*主要基于递归的思想进行求解
*/

  1. public class ShuTuZi {
  2. public static void main(String[] args) {
  3. int i=0;
  4. for(i=1;i<20;i++){
  5. System.out.println(f(i));
  6. }
  7. }
  8. private static int f(int x) {
  9. if(x==1||x==2)
  10. {return 1;}
  11. else
  12. {return f(x-1)+f(x-2);}
  13. }
  14. }
时间: 2024-10-18 12:17:11

数兔子的相关文章

第五天以及五一

菱形+数兔子 Console.Write("请输入一个数字:");int a = int.Parse(Console.ReadLine());for (int i = 1; i <= (a + 1); i++){ for (int l = i; l <= a; l++) { Console.Write(" "); } for (int l = 1; l <= i; l++) { Console.Write("★"); } Con

字符串逆序输出--递归

说到递归,很容易想到n!,斐波那契数列(数兔子问题),当然这些都是很好理解的问题.个人认为,最能反映递归实质的是汉诺塔和字符串逆向输出问题.汉诺塔问题只需要思考一步,其他难题就交给计算机吧,这很好的证明了递归就是懒人专用算法.仅凭这一点,就足以掩盖递归效率低下的缺陷.我们都知道,递归就是函数调用自身的过程.在c语言中,函数调用自身和调用其他函数,没有一点区别.都是保存现场,函数调用,恢复现场的过程,这是通俗的说法,用我们专业的术语来说,递归的实质就是入栈和出栈的过程.解释到这里,用递归实现字符串

兔子问题——斐波拉契数(JAVA)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... a.除第一项和第二项之外,任意一项是前面两项之和.b.第一项和第二项的值是首先给定的. 数学表达式就是: F(n) = F(n-1) + F(n-2) F(1) = 1 F(2) = 1 1 public class Rabbit { 2 public static void mai

递归函数____斐波拉契数列____出生2个月后小兔子可以生小小兔子

2017-09-17 22:41:44 递归     ____函数自己调用自己,又可以理解为自己的事情自己做.    如果觉得难以理解,可以把理解成这个函数调用了一个函数,只是这个函数和自己长得一模一样. ---------------------------------------------------------------------------------------     拿一对刚出生的小兔子编故事.     假设,一对刚出生的小兔子,第一个月没有繁殖能力,两个月后生下一对兔子.

习题-四季-回文数-不死神兔

1-键盘录入月份,输出对应的季节.一年有四季;3,4,5春季;6,7,8夏季;9,10,11秋季;12,1,2冬季 public class Demo02Test {     public static void main(String[] args) {         // 键盘录入一个月份,用Scanner实现         Scanner sc = new Scanner(System.in);         // 接收数据         System.out.println("请

js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为

养兔子Fibo函数优化

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> /* var cache = (function createCache() { var data = []; return function c

HDU-4544 湫湫系列故事——消灭兔子

湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏. 游戏规则很简单,用箭杀死免子即可. 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币购买. 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币. Input输入数据有多组,每组数据有四行: 第一行有两个整数N,M(1 <= N, M <= 100000),分

组合数学及其应用——斐波那契数

斐波那契数列是一个非常有名的数列,它有着各种各样神奇的性质并且和自然界有着千丝万缕的联系.通过这篇文章我们将详细的阐述这个看似简单的数列的背后蕴含的神奇性质. 引入斐波那契数的问题: 在一年的开始,把新生的雌雄一对兔子放进一个笼子里.从第二个月开始,每个月这个雌兔子胜出雌雄一对兔子.而每对新出生的雌雄兔子也从第二个月开始生兔子,确定一年后笼子里有多少对兔子? 分析:我们直接考虑通过递推的方法来得到这个问题的泛解(即任意个月后的数量都可以计算),我们记f[n]表示第n天的兔子数量,它的来源有两个: