码迷,mamicode.com
首页 > 编程语言 > 详细

递推算法

时间:2019-04-05 20:10:31      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:就是   之间   一个   调用   public   scan   ==   递推算法   int   

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

如果一对两个月大的兔子以后每个月都可以生一对小兔子,而一对新生兔子出生两个月后才可以生小兔子。也就是说。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+"对兔子");
}
}

递推算法

标签:就是   之间   一个   调用   public   scan   ==   递推算法   int   

原文地址:https://www.cnblogs.com/mianyang0902/p/10659394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!