BigInteger集合和陣列怎么創建 并且完成這個問題 Java小白請教各路大神
1.用回圈實作不死神兔
故事得從西元1202年說起,話說有一位意大利青年,名叫斐波那契。
在他的一部著作中提出了一個有趣的問題:假設一對剛出生的小兔一個月后就能長成大兔,
再過一個月就能生下一對小兔,并且此后每個月都生一對小兔,一年內沒有發生死亡,
問:一對剛出生的兔子,一年內繁殖成多少對兔子?
1 1 2 3 5 8 13 21
2.第100個月繁殖多少對兔子?(利用BigInteger完成)
uj5u.com熱心網友回復:
隨手寫個小例子public class Sample {
public static void main(String[] args) {
for (int i=1; i<=12; i++) {
System.out.printf("%s ", fn(i));
}
System.out.printf("\n問題1: 一年內繁殖成%s對兔子\n", fn(12)); //問題1
System.out.printf("問題2: 第%d個月繁殖%s對兔子\n", 100, fn(100).subtract(fn(99))); //問題2
}
public static BigInteger fn(int n) {
if (n<1) return null;
if (n==1 || n==2) return BigInteger.ONE;
BigInteger a = BigInteger.ONE;
BigInteger b = BigInteger.ONE;
for (int i=3; i<=n; i++) {
a = a.add(b);
b = a.subtract(b);
}
return a;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/90403.html
標籤:Java相關
上一篇:tomcat 8啟動失敗
