输出febonacci数列
输出febonacci数列前100项。大约在93项时会超出long的范围:
public static void fibonacci(){
long[] a=new long[100];
for(int i=0;i<100;i++){
if(i==0){
a[0]=0;
System.out.print(a[i]+"\t");
continue;
}else if(i==1){
a[1]=1;
System.out.print(a[i]+"\t");
continue;
}
a[i]=a[i-1]+a[i-2];
System.out.print(a[i]+"\t");
if((i+1)%5==0){
System.out.println("");
}
}
}
改进后:
// 输出febonacci数列前100项
import java.math.BigInteger;
public class Febonacci100{
public static void main(String[] args){
BigInteger[] a = new BigInteger[100];
for(int i = 0;i < 100;i++){
if(i == 0){
a[0] = BigInteger.valueOf(0);
System.out.println(a[i]+"\t");
continue;
}else if(i == 1){
a[1] =BigInteger.valueOf(1);
System.out.println(a[i]+"\t");
continue;
}
a[i]=a[i-1].add(a[i-2]);
System.out.println(a[i]+"\t");
if((i+1)%5==0){
System.out.println("");
}
}
}
}