黑马程序员技术交流社区
标题:
两个java基础题 带答案
[打印本页]
作者:
柳超
时间:
2014-8-7 21:04
标题:
两个java基础题 带答案
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
public class Prog1{
public static void main(String[] args){
int n = 10;
System.out.println("第"+n+"个月兔子总数为"+fun(n));
}
private static int fun(int n){
if(n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
}
复制代码
作者:
闪电博尔特
时间:
2014-8-7 23:53
递归算法
作者:
wawsc5354524
时间:
2014-8-8 00:16
请问你这是用什么软件输出的?Eclipse?
作者:
rolling-stone
时间:
2014-8-8 08:29
前十个月的数量:
class Demo
{
public static void main(String[] args)
{
int[] arr = new int[10];
arr[0] = 1;
arr[1] = 1;
sop(arr[0]);
sop(arr[1]);
for(int i=1; i<arr.length-1; i++)
{
arr[i+1] = arr[i] + arr[i-1];
sop(arr[i+1]);
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
作者:
席杰
时间:
2014-8-8 09:32
楼主,你这是写的答案?还是在问怎么做?
作者:
大成哥
时间:
2014-8-8 09:50
对 递归算法
作者:
Justfeeling
时间:
2014-8-8 10:23
递归算法
作者:
liqi
时间:
2014-8-8 11:41
做了一遍
作者:
如果有梦
时间:
2014-8-8 12:50
package com.test;
/**
* 楼上给出的答案都是找规律出来的,要是题目不是3个月大生第一对,而是半年呢?
* 所以找规律还是有缺陷,应该按实际怎么生就怎么算。
* @author Administrator
*
*/
public class TwoNumberTest
{
public static void main(String[] args)
{
for(int i =1 ; i<=20;i++)
{
//+1是因为最开始的那对兔子没有算上
System.out.println(count(i) + 1);
}
}
public static int count(int time)
{
//兔子的对数
int num = 0;
for(int i = 2;i<time;i++)
{
//两个月后,每个月新生一对兔子
num ++;
//新生一对兔子的后代
num = num +count(time - i);
}
return num;
}
}
复制代码
作者:
柳超
时间:
2014-8-10 00:07
liqi 发表于 2014-8-8 11:41
做了一遍
。。还有 网络不好 只发了两个 明天再发
直接5个题长度上限了
作者:
柳超
时间:
2014-8-10 00:13
席杰 发表于 2014-8-8 09:32
楼主,你这是写的答案?还是在问怎么做?
几个题 给大家分享下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2