1. 程式人生 > >古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

 第一種方法:

import java.util.Scanner;

public class Rab{
	public static void main(String[]args){
		int month;
		System.out.println("請輸入養殖兔子的月份數:");
		Scanner in = new Scanner(System.in);
		month = in.nextInt();
		
		int sum[]= new int[month] ;
		sum[0] = 1;
		sum[1] = 1;
			
		for(int i=2;i<month;i++){
			sum[i] = sum[i-1]+sum[i-2];
		}
				
		System.out.println("第"+month+"個月的兔子總數是:"+sum[month-1]);
		
	}
}


第二種方法:

import java.util.Scanner;


public class practies4 {
	public static void main(String[]args){
	//變數宣告;
		int n = 0; 
		while(n<3){
			GetKey gk = new GetKey();
			n = gk.getN();
		}
		System.out.println("請輸入月份數:");
		Scanner in = new Scanner(System.in);
		n = in.nextInt();
		
		int[]a = new int[n];
		a[0]=1;
		a[1]=1;
		for(int i=2;i<n;i++){
			a[i]=a[i-1]+a[i-2];
		}
		System.out.println(n);
		System.out.println(a[n-1]);
	}
}

//實現對使用者輸入內容的控制,並獲取n
class GetKey{
	private int pos;
	private String bufNum="";
	private byte[]buff =new byte[10];
	private int n;
	private int info;
	public int getN(){
		System.out.println("請輸入你想知道第多少個月的兔子總數:");
		System.out.println("月份數必須大於2");
		while(true){
			try{
				info=System.in.read();
			}catch(Exception e){
			}
			
			if(info=='\n'||info=='\r'){
				bufNum = new String(buff,0,pos);
				try{
					n=Integer.parseInt(bufNum);
				}catch(Exception e){
						n=1;
				}
				break;
			}else{
				buff[pos++]=(byte)info;
			}
		}
		return n;
	}
}

相關推薦

一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子總數多少?

package src pac spa scanner span warnings warning resource 分析: 第一個月-----------------1 第二個月-----------------1 第三個月-----------------2 第四個月-

java經典題丨一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子總對數多少?

兔子問題,習題練習: public class Rubbit { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("請輸入月份");

古典問題一對兔子出生3每個一對兔子 兔子每個一對兔子 假如兔子每個兔子總數多少

思路分析:   月份          兔子數                  說明   1      1(對)            從開始有一對兔子   2      1   3      1+1       原本有一對  從第三個月開始 生了一對 一共是兩對兔

一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子對數多少?

   private static int fun(int n){            if(n==1 ||n==2)               return 1;            else               return fun(n-1)+fun(n-2

一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子對數多少?(遞迴裴波那契數列)

/** * @Desc:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子, * 假如兔子都不死,問每個月的兔子對數為多少? 程式分析: 兔子的規

一對老耗子每個一對耗子。耗子3開始變成老耗子開始假如那麼請問24多少隻耗子?

package 第五天的作業;/* * 一對老耗子,每個月都生一對小耗子。小耗子長3個月,第四個開始變成老耗子開始生! 假如都不死,那麼請問24個月後有多少隻耗子? *//* * 思路 * 設計ONE TWO THREE OLD四個變數, * 存放第一個月,第二個月,第三個月,老耗子的數量 * */publ

古典問題一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子總數多少?

 第一種方法:import java.util.Scanner; public class Rab{ public static void main(String[]args){ int month; System.out.println("請輸入養殖兔子的月份

古典問題一對兔子出生3每個一對兔子兔子 每個一對兔子假如兔子每個兔子總數多少?

/*1.古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月 後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?*/ //下一個數為前兩個數之和 1 1 2 3 5 8 13 (第一種方法)#include<stdio.h&

Python中求一對兔子出生3每個一對兔子假如兔子每個兔子總數多少?

1.兔子的規律為數列1,1,2,3,5,8,13,21... a=1 b=1 print(a) print(b) for i in range(10): a=a+b print(a) b=a+b print(b) 第一個月跟第二個月一樣 

題目:有一對兔子,從出生第三個月起每個月都生一對兔子,小兔子長第三個月後,每個月又生一對兔子,假如兔子都不死問M個月兔子的數量M為鍵盤讀入的正整數。(請用java語言作答)

樣例輸入:3樣例輸出:第1個月的兔子對數:1第2個月的兔子對數:1第3個月的兔子對數:2import java.util.Scanner;/** * @author ForeverLover */pub

古典問題兔子出生3每個一對兔子兔子每個一對兔子假如兔子兩年內每個兔子總數多少?(斐波那切數列)

分析 第一個月—————–1 第二個月—————–1 第三個月—————–2 第四個月—————–3 第五個月—————–5 第六個月—————–8 第七個月—————–13 … … 從中發現,

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長第三個月後每個月又生一對兔子,假如兔子都不死每個月兔子對數為多少? 程式分析 兔子的規律為數列1,1,2,3,5,

兔子問題: 別人提供的方法: 遞迴: public class Prog1{ public static void main(String[] args){ int n = 10; System.out.println("第"+n+"個月兔子總數為"+fun(n));

[Java] 練習題001:一對兔子出生3每個一對兔子兔子每個一對兔子假如兔子每個兔子總數多少?

【程式1】題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?1.程式分析: 兔子的規律為數列1,1,2,

遞迴演算法問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長第三個月後每個月又生一對兔子,假如兔子都不會死。問 20個月兔子總對數為多少?(提示先分析兔子的增長規律)

遞迴演算法問題: 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不會死。問: 第20個月的兔子總對數為多少?(提示:先分析兔子的增長規律) 程式碼

【程式1】 TestRabbit.java 題目古典問題一對兔子出生3每個一對兔子兔子每個一對兔子 //假如兔子每個兔子總數多少?

//【程式1】 TestRabbit.java 題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子, //假如兔子都不死,問每個月的兔子總數為多少? 1.程式分析: 兔子的規律為數列1,1,2,3,5,8,13,21.

JAVA程式設計之古典問題一對兔子出生3每個一對兔子

   問題是這樣的:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一 對兔子, 假如兔子都不死,問每個月的兔子總數為多少?    這個問題相信大家已經不在陌生了。很多部落格裡都有各種不同的解答方法。    最多的方法就是先列出最初

一隻兔子出生3每個一隻兔子兔子每個一隻兔子假如兔子每個兔子總數多少?

這是一道斐波拉契數列題目,很自然會想到使用遞迴f(n)=f(n-1)+f(n-2),但是使用遞迴的方式 會導致很多重複計算,因此,可以用第二種方法:用組數儲存已經計算過的數值,當後面計算需 要使用前面的值時,可以直接從陣列內取,方法如下: packag

若一頭母牛出生年頭開始每年一頭母牛按此規律n年多少頭母牛?

#include <stdio.h> #include <stdlib.h> int cow(int n) { int i, count, m = 1; int A[3] = {0, 0, 0}; int tmp;

若一頭母牛出生年頭開始每年一頭母牛按此規律n年時有多少頭母牛?

第一年:1 第二年:1 第三年:1 第四年:1 + 1(4) 第五年:1 + 1(4) + 1(5) 第六年:1 + 1(4) + 1(5) + 1(6) 第七年:1 + 1(4) + 1(5) + 1(6) + 1(7) +1(47) 遞迴公式:f(n)=1 0