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多執行緒程式設計問題以及解決辦法Java執行緒程式設計
- JAVA | Java 解決跨域問題Java跨域
- Java併發程式設計-解決可見性與有序性問題Java程式設計
- java併發程式設計 --併發問題的根源及主要解決方法Java程式設計
- Java解決跨域問題Java跨域
- Java程式設計之道:巧妙解決Excel公式迭代計算難題Java程式設計Excel公式
- java解決數字黑洞問題Java
- Java程式設計師面試常見問題Java程式設計師面試
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- java nio解決半包 粘包問題Java
- java中亂碼問題解決方法Java
- nginx /Java 解決跨域問題方案NginxJava跨域
- Java程式碼解決ElasticSearch的Result window is too large問題JavaElasticsearch
- 程式設計謎題:提升你解決問題的訓練場程式設計
- 解決問題的能力 > 10倍程式設計師程式設計師
- Java技巧-解決JAVA_HOME變數無效問題Java變數
- Java程式設計師,你的簡歷到底問題在哪?Java程式設計師
- 幽默:程式設計中困難的不是解決問題,而是確定要解決的問題 - Paul程式設計
- Java程式設計(2021春)——第二章課後題(選擇題+程式設計題)答案與詳解Java程式設計
- Java程式設計的利器:Pair和Triple無縫解決多值返回問題,助力編寫高效程式碼Java程式設計AI
- Java™ 教程(常見問題及其解決方案)Java
- java學習中問題與解決方式Java
- Java swing JFrame用repaint出現閃爍的問題解決JavaAI
- 好程式設計師Java教程分享Java中經常出現的問題程式設計師Java
- 《java程式設計基礎》例題5.6Java程式設計
- 圖解Java設計模式-面試題圖解Java設計模式面試題
- 解決Sentinel module java.base does not “opens java.lang“ 問題Java
- Python爬蟲程式設計常見問題解決方法Python爬蟲程式設計
- Java併發程式設計實戰 02Java如何解決可見性和有序性問題Java程式設計
- 好程式設計師Java教程分享Java中String型別的10個問題程式設計師Java型別
- Java程式設計__Chap3 面對物件__程式設計題Java程式設計物件
- 解決程式設計難題的實用方法指南 - praeclarum程式設計
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 【譯】Googler如何解決程式設計問題Go程式設計
- 程式設計師50+Java面試題程式設計師Java面試題
- Java程式設計師面試題及解答Java程式設計師面試題
- JAVA程式設計師面試題庫分享Java程式設計師面試題