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(随机)天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?()

  • 相关阅读:
    shell与export命令
    mysql同步出现1062错误
    mysql命令行执行时不输出列名(字段名)
    python中中括号中的负数
    bash: ssh: command not found
    nagios的一些东西
    安装MySQLdb出现HAVE_WCSCOLL重定义问题的解决方法
    ImportError: No module named setuptools
    xp密钥
    破解MySQL和修改mysql的密码
  • 原文地址:https://www.cnblogs.com/YangGC/p/6087007.html
Copyright © 2011-2022 走看看