反復法と再帰法を使用しましたが、どちらの場合も fibo(10^6) の結果が速くなりません。O(logN) の複雑さで。
反復法:
static BigInteger fibo(long n){
BigInteger a=new BigInteger("1");
BigInteger b=new BigInteger("2");
BigInteger c=new BigInteger("0");
for(long i=3;i<=n;i++){
c=a.add(b);
a=b;
b=c;
}
return c;
}