zoukankan      html  css  js  c++  java
  • 递推算法

    递推算法适合有着明显公式规律的场合,需要知道问题与答案之间的逻辑关系。

    如果一对两个月大的兔子以后每个月都可以生一对小兔子,而一对新生兔子出生两个月后才可以生小兔子。也就是说。1月份出生3月份才可以产仔。那么假定一年内没有发生兔子死亡事件,那么一年后共有多少只兔子呢?

    逐月分析每月兔子对数:

    第一个月:1对兔子;

    第二个月:1对兔子;

    第三个月:2对兔子;

    第四个月;3对兔子;

    第五个月:5对兔子;

    ......

    从第三个月开始,每个月兔子总数等于前两个月兔子总数之和。

    第n个月的兔子总数为Fn=Fn-2+Fn-1

    代码段:

    public class Yihuo {
    public static int sun(int a){
    int temp;
    int t1,t2;
    if(a==1||a==2) {
    return 1;
    }
    else{
    t1=sun(a-1);//递归调用
    t2=sun(a-2);
    return t1+t2;
    }
    }
    public static void main(String []args) {
    int temp;
    System.out.println("递推算法求解兔子产仔问题");
    Scanner scan =new Scanner (System.in);
    System.out.println("输入时间");
    int a=scan.nextInt();
    temp=sun(a);
    System.out.println(a+"个月后"+"共有"+temp+"对兔子");
    }
    }

  • 相关阅读:
    梦断代码阅读笔记
    程序员的自我修养阅读笔记
    11月总结3
    11月总结3
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    程序员的自我修养阅读笔记
    第十四周总结
    第十三周总结
  • 原文地址:https://www.cnblogs.com/mianyang0902/p/10659394.html
Copyright © 2011-2022 走看看