入门经典编程题-斐波那契

网友投稿 249 2022-09-14

入门经典编程题-斐波那契

题目

菲波拉契数列:有一对兔子, 从出生后第 3 个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死, 问每个月的兔子总数为多少?

分析

从一个月开始的兔子数列:1 1 2 3 5 8 13 规律:第i个月兔子数 = 第i-1个月的兔子数+第i-2个月的兔子数

Java实现

递归

public static void example01(){ Scanner sc = new Scanner(System.in); int i = sc.nextInt(); //输入第i个月 int num = 0; //兔子数 if (i == 1 || i == 2) num = 1; num += num(1,1,i); System.out.println(num); } public static int num(int a1,int a2,int i){ if (i == 3) return a1+a2; return num(a2,a2+a1,--i); }

非递归

public static void example01_2(){ Scanner sc = new Scanner(System.in); int i = sc.nextInt(); //输入第i个月 int num = 0; //兔子数 if (i == 1 || i == 2) num = 1; int a1 = 1; int a2 = 1; for (int j = 3; j <= i; j++) { num = a1 + a2; a1 = a2; a2 = num; } System.out.println(num); }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:某校2020专硕编程题-计算器
下一篇:惊蛰丨阳气初充 乍暖还寒 早睡早起 多补肝血!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~