• 经典的递归练习


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

  • 相关阅读:
    H-ui前端框架
    表单验证
    Switch 语句
    mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)
    mysql之repair table 修复表札记
    社会化海量数据采集爬虫框架搭建
    微信开发学习路线
    搜索引擎的商业价值
    centos7图形配置 firewall-config
    恢复gvim的ctl+v可视模式设置
  • 原文地址:https://www.cnblogs.com/YangGC/p/6087007.html
Copyright © 2020-2023  润新知