美文网首页
Java中的斐波那契数问题

Java中的斐波那契数问题

作者: 向着幸福裸奔 | 来源:发表于2017-07-11 17:04 被阅读20次

问题描述:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,

* 问:一对刚出生的兔子,一年内繁殖成多少对兔子?

package Test;

import java.util.Scanner;

/**

* Created by hasee on 2017/7/10.

*

* 斐波那契数问题(不死神兔问题)

*/

public class Test4 {

public static void main(String[] args) {

//demo1();

Scanner sc = new Scanner(System.in);

System.out.println("请您输入一个整数:");

int number=sc.nextInt();

System.out.println(fun(number));

}

//方法二: 利用递归法

public static int  fun(int num){

if (num == 1 || num == 2) {

return 1;

} else {

return fun(num - 2) + fun(num - 1);

}

}

//方法一: 利用数组

private static void demo1() {

Scanner sc = new Scanner(System.in);

System.out.println("请您输入一个整数:");

int num = sc.nextInt();

int[] arr = new int[num];

arr[0] = 1;

arr[1] = 1;

for (int i = 2; i < arr.length; i++) {

arr[i] = arr[i - 2] + arr[i - 1];

}

System.out.println(arr[arr.length - 1]);

}

}

   以上的求解方法依旧存在Bug,没对键盘输入的情况进行判断,如果在控制台输入的是Int类型的,则程序正常运行。反之,程序出现异常。却没有找到很好的解决办法,希望小伙伴们能提出你的见解。

相关文章

  • Python实现斐波那契数列

    什么是斐波那契数 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci)...

  • 求斐波那契数,你还在用递归吗?

    1、什么是斐波那契数? 斐波那契数,又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibon...

  • 「算法」斐波那契数 & 反转字符串

    00509 斐波那契数 题目描述 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和...

  • LeetCode-509. 斐波那契数

    509. 斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,...

  • 力扣(LeetCode)题解 (C语言)509. 斐波那契数

    509. 斐波那契数 题目: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1...

  • 10:斐波那契数列

    题目10:斐波那契数列 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonac...

  • Code Snip

    斐波那契数

  • Java中的斐波那契数问题

    问题描述:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内...

  • 简单算法

    实现 trim 斐波那契数列 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1...

  • Go 实现斐波那契数列

    斐波那契数列 斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。现通过一个递归函数,输入 x,...

网友评论

      本文标题:Java中的斐波那契数问题

      本文链接:https://www.haomeiwen.com/subject/fxyvdttx.html