Fibonacci数列第N位计算
所属分类 math
浏览量 785
为避免溢出 使用 java 里的 BigInteger
num=100000,time=587ms , length=20899
num=1000000,time=22571ms , length=208988
第10万位 计算耗时 587ms ,结果长度 20899
第100万位 计算耗时 22571ms ,结果长度 208988
代码如下
import java.math.BigInteger;
public class Fibonacci2 {
public static void main(String[] args) throws Exception {
// 1 1 2 3 5 8 13 21
BigInteger f1 = new BigInteger("1");
BigInteger f2 = new BigInteger("1");
BigInteger f3 = null;
int num = 1000000;
long start = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
f3 = f1.add(f2);
f1 = f2;
f2 = f3;
}
long end = System.currentTimeMillis();
long time = end - start;
// length 为 结果长度
System.out.println("num=" + num + ",time=" + time + "ms , length=" + f3.toString().length());
}
}
上一篇
下一篇
笛卡尔与解析几何
勾股定理简单证明
聪明的投资者摘录
《七堂极简物理课》摘录
微积分的一些知识点
归并排序