java算法题。求斐波拉契据第N项
java算法题。求斐波拉契第N项
编制一段程序,计算斐波拉契级数第N项的值。
斐波那契级数:f(0)=0;f(1)=1;
当n>1时,f(n)=f(n-1)+f(n-2)
用普通方法,计算100以内还是很快的。
如果考虑算法的时间效率,计算10000呢?请大神们用java提供一种快速的算法
------解决思路----------------------
这个没什么难的吧?3个变量就行了啊
编制一段程序,计算斐波拉契级数第N项的值。
斐波那契级数:f(0)=0;f(1)=1;
当n>1时,f(n)=f(n-1)+f(n-2)
用普通方法,计算100以内还是很快的。
如果考虑算法的时间效率,计算10000呢?请大神们用java提供一种快速的算法
------解决思路----------------------
这个没什么难的吧?3个变量就行了啊
public class Fbnq {
public static int fbnq(int n){
if(n==0){
return 0;
}else if(n==1){
return 1;
}else{
int a=0;
int b=1;
int c=a+b;
for(int i=2;i<=n;i++){
c=a+b;
a=b;
b=c;
}
return c;
}
}
public static void main(String[] args) {
System.out.println(fbnq(100000));
}
}