java代码兔子繁殖问题 兔子 java

如何用Java程序编程,最好讲解一下。题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对

这道题目考察的是运用递归(数列)的思路去解决问题。

成都创新互联公司服务项目包括上城网站建设、上城网站制作、上城网页制作以及上城网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,上城网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到上城省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

假设到第24个月,示例代码如下:

public class woo {

public static void main(String args[]) {

System.out.println(fib(24));

}

private static int fib(int n) {

if (n == 1 || n == 2) {

return 1;

} else {

return fib(n - 1) + fib(n - 2);

}

}

}

扩展资料:

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……。

在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

参考资料:

百度百科:斐波那契数列

百度百科:递归函数

Java代码编程 经典的兔子问题?

这是斐波那契数列的问题

可以用递归,也可以用循环

递归:

public class Demo3 {

// 使用递归方法

private static int getFibo(int i) {

if (i == 1 || i == 2)

return 1;

else

return getFibo(i - 1) + getFibo(i - 2);

}

public static void main(String[] args) {

System.out.println("斐波那契数列的前20项为:");

for (int j = 1; j = 20; j++) {

System.out.print(getFibo(j) + "\t");

if (j % 5 == 0)

System.out.println();

}

}

}

循环:

public class Demo2 {

// 定义数组方法

public static void main(String[] args) {

int arr[] = new int[20];

arr[0] = arr[1] = 1;

for (int i = 2; i arr.length; i++) {

arr[i] = arr[i - 1] + arr[i - 2];

}

System.out.println("斐波那契数列的前20项如下所示:");

for (int i = 0; i arr.length; i++) {

if (i % 5 == 0)

System.out.println();

System.out.print(arr[i] + "\t");

}

}

}

兔子繁殖问题。

20个月后一共6765对兔子。

在700多年前,意大利有一位著名数学家斐波那契在他的《算盘全集》一书中提出了这样一道有趣的兔子繁殖问题。他先用列举法计算出各个月兔子对数,并进行了仔细观察,从中发现了一个十分有趣的规律,就是后面一个月份的兔子总对数,恰好等于前面两个月份兔子总对数的和。

1月兔子等于1对。

2月兔子等于1对。

3月兔子对数等于1月与2月兔子数相加等于2对。

4月兔子对数等于2月与3月兔子数相加等于5对。

后面依次类推。

扩展资料:

递归方法计算兔子繁殖问题:

根据实际问题,设置两个基本事件:rabbit(1)=1和rabbit(2)=1,由此,递归定义式为:

rabbit(n)=1when  n=1 or n=2;

rabbit(n)=rabbit(n-1)+rabbit(n-2)when  n2;

rabbit(1),rabbit(2),rabbit(3),... ... 称为Fibonacci序列,它是许多自然现象的模型。

rabbit(n)的Java方法:

[java]view plaincopy

publicstaticint rabbit(int n){

//------------------------------------------

//Computes a term in the Fibonacci sequence

//Precondition:n is a positive integer

//Postcondition:Returns the nth Fibonacci number

//------------------------------------------

if(n=2){return1;}

else {//n2, so n-10 and n-20

return rabbit(n-1)+rabbit(n-2);

}//end if

}//end rabbit

参考资料:百度百科-兔子繁衍奥数题及答案

java用递归编程(兔子问题)

这个是

斐波那契数列

的问题,根据要求编写的

程序

如下:

public

class

Fibonacci

{

static

int

mb_Fibonacci(int

n){

if(n==1)

return

1;

if(n==2)

return

1;

return

mb_Fibonacci(n-1)+mb_Fibonacci(n-2);

}

public

static

void

main(String[]

args)

{

System.out.println(mb_Fibonacci(13));

}

}

运行结果:

233


文章名称:java代码兔子繁殖问题 兔子 java
当前地址:http://pwwzsj.com/article/hgoisi.html