黑马程序员技术交流社区
标题:
代码优化
[打印本页]
作者:
hanrongle
时间:
2013-8-7 22:07
标题:
代码优化
斐波那契数列
import java.util.*;
import java.io.*;
public class Fibonacci
{
public static void main(String[] args) throws IOException
{
Scanner in=new Scanner(System.in);
long num = Fib(in.nextInt());
System.out.println(num);
}
public static long Fib(int n){
if(n<3)
return 1;
else
return Fib(n-1)+Fib(n-2);
}
}
复制代码
上述代码,是关于斐波那契数列计算问题的,如果输入的数较大的话,计算速度会非常慢,像输入60,就会停滞在控制台不懂。该代码如何优化?
作者:
谢铭
时间:
2013-8-7 23:07
可惜还在北京传智上基础班,还没有讲到这块的内容,冯佳老师今天上课的时候,也提到了这个问题,但是还没有学习,只能过段时间再提这个了。
作者:
赖龙威
时间:
2013-10-2 00:50
import java.util.Scanner;
public class test {
public static void main(String[] args) {
int temp = 0;
int a = 0, b = 1;
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
if (num == 0) {
System.out.println(0);
}
for (int i = 2; i < num ; i++) {
temp = a;
a = b;
b += temp;
}
System.out.println(b);
}
}
复制代码
递归的方法实在太消耗系统资源了。时间开销和空间开销都好大。最好的解决办法是不用递归。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2