JAVA程式設計題-用java解決兔子問題
題目:古典問題:有一對兔子,從出生後第 3 個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
解答:
分析:從第一對兔子開始,第1個月1對兔子,由於“長到第三個月後每個月又生一對兔子”,所以第2個月也是1對兔子,第3個月時可以生一對兔子,所以總數為2對,這時,其中有一對是以後每個月都可以生一對兔子的老兔子,另一對是一對新兔子,它只有在第三個月的時候才可以每個月生一對兔子;這樣的話,第4個月的兔子總數為3對,…以此類推,從第1個月到第12個月的兔子對總數分別為:1,1,2,3,5,8,13,21,34,55,89,144。。。。。
這是一個典型的斐波那契數列。
由於每對新兔子隔一個月才可以生新一對兔子, 每月的兔子對總數為前兩個月的兔子對數之和。
(方法一)利用java程式設計基本實現,程式設計如下:
程式碼實現如下:
public class RabbitDemo {
public static void main(String[] args) {
int amount; //每個月的兔子總數
int nAmount = 1; //第一個月的兔子數量
int oAmount = 1; //第二個月的兔子數量
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);
}
}
}
(方法二)利用遞迴的方法來解決斐波那契數列:
程式碼實現如下:
import java.util.Scanner;
public class RabbitDemo {
public static void main(String[] args) {
System.out.println(“輸入月份”);
Scanner s = new Scanner( );
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);
}
}
}
文章來源:搜尋引擎大全
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2642461/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決java網路程式設計IPv6問題Java程式設計
- java的socket程式設計問題Java程式設計
- Java網路程式設計,有助於解決實際問題, (轉)Java程式設計
- java多執行緒程式設計問題以及解決辦法Java執行緒程式設計
- JAVA | Java 解決跨域問題Java跨域
- Java郵件(問題解決)Java
- Java解決跨域問題Java跨域
- java併發程式設計 --併發問題的根源及主要解決方法Java程式設計
- Java併發程式設計-解決可見性與有序性問題Java程式設計
- Java程式設計師面試常見問題Java程式設計師面試
- Java程式設計常見問題彙總Java程式設計
- Java程式設計之道:巧妙解決Excel公式迭代計算難題Java程式設計Excel公式
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- Java 程式死鎖問題原理及解決方案Java
- java解決數字黑洞問題Java
- Java 解決中文亂碼問題Java
- Java程式設計常見問題彙總(一)Java程式設計
- java中亂碼問題解決方法Java
- java nio解決半包 粘包問題Java
- nginx /Java 解決跨域問題方案NginxJava跨域
- Java程式設計中最容易忽略的10個問題Java程式設計
- 關於java安全性程式設計問題求助!!!Java程式設計
- Tomcat無端僵死,JAVA程式設計問題何在?TomcatJava程式設計
- 圖解Java設計模式-面試題圖解Java設計模式面試題
- Java程式碼解決ElasticSearch的Result window is too large問題JavaElasticsearch
- 程式設計謎題:提升你解決問題的訓練場程式設計
- Java技巧-解決JAVA_HOME變數無效問題Java變數
- 解決問題的能力 > 10倍程式設計師程式設計師
- 程式設計師解決問題的 60 個策略程式設計師
- 程式設計師解決問題的60個策略程式設計師
- 怎麼解決程式設計師上網問題程式設計師
- Java™ 教程(常見問題及其解決方案)Java
- java學習中問題與解決方式Java
- java中解決request中文亂碼問題Java
- 幽默:程式設計中困難的不是解決問題,而是確定要解決的問題 - Paul程式設計
- Java程式設計師,你的簡歷到底問題在哪?Java程式設計師
- Java程式設計的利器:Pair和Triple無縫解決多值返回問題,助力編寫高效程式碼Java程式設計AI
- 好程式設計師Java教程分享Java中經常出現的問題程式設計師Java