加快使用if语句编写的斐波那契序列

时间:2018-09-19 03:03:26

标签: java fibonacci

我使用if语句编写了一个斐波那契数列,但是该脚本在第40-41学期开始显着放慢速度,每次计算花费10秒钟以上。有人可以指出我的代码可以优化的地方吗?预先感谢!

public static long fibonacci(int i) {
if (i <= 1) {
    return i;
} else if (i == 2) {
    return 1;
} else {
    return fibonacci(i - 1) + fibonacci(i - 2);
}

}

public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int i = 1;

System.out.print("Index: ");
int lim = Integer.parseInt(reader.nextLine());

while (i <= lim) {
    System.out.println(i + ": " + fibonacci(i));
    i++;
}

}

0 个答案:

没有答案