package demo01;
/*
* 1.用循环实现不死神兔
故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,
再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,
问:一对刚出生的兔子,一年内繁殖成多少对兔子?
1 1 2 3 5 8 13 21
2.第100个月繁殖多少对兔子?(利用BigInteger完成)
*/
import java.math.BigInteger;
import java.util.ArrayList;
public class Test05 {
public static void main(String[] args) {
ArrayList<BigInteger> arr = new ArrayList<BigInteger>();
BigInteger b1 = new BigInteger("1");//初始值为1对
arr.add(b1);
BigInteger b2 = new BigInteger("1");//第1个月还是1对
arr.add(b2);
int n = 10000;//第N个月
for (int i = 2; i <= n; i++) {
BigInteger a = arr.get(i-1);
BigInteger b = arr.get(i-2);
BigInteger c = a.add(b);//注意这里的.add是BigInteger的方法,结果相当于a+b
arr.add(c);//这里是ArrayList的.add方法,表示将c加入集合
}
System.out.println(arr.get(n));
}
}
转自:https://blog.youkuaiyun.com/javae100/article/details/79105238