zoukankan      html  css  js  c++  java
  • 经典的递归练习

    1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

      程序分析:   兔子的规律为数列1,1,2,3,5,8,13,21....

            从第三个月开始,后一个月的兔子数量是前两个月的兔子对数之和 !典型的 “斐波那契问题”, 最常用的方法是用 “递归” 求法!

     1 public class Test {
     2     public static void main(String[] args) {
     3         int i=0;
     4         for(i=1;i<=20;i++)
     5             System.out.println("第"+i+"个月共有" + f(i)+"对兔子");
     6     }
     7     public static int f(int x)
     8     {
     9         if(x==1 || x==2)
    10             return 1;
    11         else
    12             return f(x-1)+f(x-2);
    13 
    14     }
    15 
    16 }

     2,

    喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!
    什么问题?他研究的问题是蟠桃一共有多少个!
    不过,到最后,他还是没能解决这个难题,呵呵^-^
    当时的情况是这样的:
    第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n(随机)天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?()

  • 相关阅读:
    Android访问数据库(SQL Server 和 MySQL)
    Andriod开发环境搭建
    SQL 学习记录
    安装双系统 win7 + ubuntu 15.04
    SQL资料
    电脑使用
    python_L7
    ONE
    网页性能优化
    js的继承
  • 原文地址:https://www.cnblogs.com/YangGC/p/6087007.html
Copyright © 2011-2022 走看看