美文网首页
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类型的,则程序正常运行。反之,程序出现异常。却没有找到很好的解决办法,希望小伙伴们能提出你的见解。

    相关文章

      网友评论

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

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