新聞中心
如何用java解決兔子問題,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,克山企業(yè)網(wǎng)站建設,克山品牌網(wǎng)站建設,網(wǎng)站定制,克山網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,克山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
題目:古典問題:有一對兔子,從出生后第 3 個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?
解答:
分析:從第一對兔子開始,第1個月1對兔子,由于“長到第三個月后每個月又生一對兔子”,所以第2個月也是1對兔子,第3個月時可以生一對兔子,所以總數(shù)為2對,這時,其中有一對是以后每個月都可以生一對兔子的老兔子,另一對是一對新兔子,它只有在第三個月的時候才可以每個月生一對兔子;這樣的話,第4個月的兔子總數(shù)為3對,…以此類推,從第1個月到第12個月的兔子對總數(shù)分別為:1,1,2,3,5,8,13,21,34,55,89,144。。。。。
這是一個典型的斐波那契數(shù)列。
由于每對新兔子隔一個月才可以生新一對兔子, 每月的兔子對總數(shù)為前兩個月的兔子對數(shù)之和。
(方法一)利用java編程基本實現(xiàn),程序設計如下:
代碼實現(xiàn)如下:
public class RabbitDemo {
public static void main(String[] args) {
int amount; //每個月的兔子總數(shù)
int nAmount = 1; //第一個月的兔子數(shù)量
int oAmount = 1; //第二個月的兔子數(shù)量
for(int i=1;i<=2;i++){
amount=1;
System.out.println(“第” + i + “個月的兔子總是為:” + amount);
}
for(int i=3;i<=12; i++) {
amount = oAmount + nAmount;
oAmount = nAmount;
nAmount = amount;
System.out.println(“第” + i + “個月的兔子總是為:” + amount);
}
}
}
(方法二)利用遞歸的方法來解決斐波那契數(shù)列:
代碼實現(xiàn)如下:
import java.util.Scanner;
public class RabbitDemo {
public static void main(String[] args) {
System.out.println(“輸入月份”);
Scanner s = new Scanner( System.in );
int month = s.nextInt();
System.out.println(“第” + month + “個月的兔子總是為”+getNum(month));
}
public static int getNum(int month){
if(month == 1 || month == 2){
return 1;
}else{
return getNum(month-1)+getNum(month-2);
}
}
}
關于如何用java解決兔子問題問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。
分享名稱:如何用java解決兔子問題
瀏覽路徑:http://www.ef60e0e.cn/article/ppesje.html