java 编写 有一对兔子 请看问题补充,求高手帮忙
从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,...
从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 展开
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 展开
展开全部
public class RabbitNumber {
private int rabbitNumber = 0;
private int beginOne = 1;
private int beginTwo = 1;
/**
*
* @param month 第几个月后兔子数
*/
public RabbitNumber(int month) {
getRabbitNumber(month);
}
/**
* 获取兔子数目
* @param month 第几个月
* @return 兔子数
*/
public int getRabbitNumber(int month) {
if (month < 3) {
System.out.println("第" + month + "个月的兔子个数为:" + beginOne);
return 1;
}
for (int i = 3; i < month; i += 3) {
rabbitNumber = beginOne + beginTwo;
beginOne = beginTwo;
beginTwo = rabbitNumber;
}
System.out.println("第" + month + "个月的兔子个数为:" + rabbitNumber);
return rabbitNumber;
}
public static void main(String[] args) {
new RabbitNumber(8);
}
}
修改了一点,循环应该从3开始
private int rabbitNumber = 0;
private int beginOne = 1;
private int beginTwo = 1;
/**
*
* @param month 第几个月后兔子数
*/
public RabbitNumber(int month) {
getRabbitNumber(month);
}
/**
* 获取兔子数目
* @param month 第几个月
* @return 兔子数
*/
public int getRabbitNumber(int month) {
if (month < 3) {
System.out.println("第" + month + "个月的兔子个数为:" + beginOne);
return 1;
}
for (int i = 3; i < month; i += 3) {
rabbitNumber = beginOne + beginTwo;
beginOne = beginTwo;
beginTwo = rabbitNumber;
}
System.out.println("第" + month + "个月的兔子个数为:" + rabbitNumber);
return rabbitNumber;
}
public static void main(String[] args) {
new RabbitNumber(8);
}
}
修改了一点,循环应该从3开始
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
int month_num=10;//暂定输出10个月的
int[] temp = new int[month_num];
temp[0] = 1;
temp[1] = 1;
System.out.println("第1个月:" + temp[0]);
System.out.println("第2个月:" + temp[1]);
for (int i = 2; i < month_num ; i++) {
temp[i] = temp[i-1] + temp[i - 2];
System.out.println("第"+(i+1)+"个月:" + temp[i]);
}
}
int month_num=10;//暂定输出10个月的
int[] temp = new int[month_num];
temp[0] = 1;
temp[1] = 1;
System.out.println("第1个月:" + temp[0]);
System.out.println("第2个月:" + temp[1]);
for (int i = 2; i < month_num ; i++) {
temp[i] = temp[i-1] + temp[i - 2];
System.out.println("第"+(i+1)+"个月:" + temp[i]);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
斐波那契 呵呵 公式是:x=x+y,y=x-y
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询