Java刚出炉的菜鸟,在这里记录自己的自学生活,喜欢各位大牛多多体谅,还有就是和我一样的新手们互相学习!
这是很基础的一道题,不过小编也犹豫了好大一会,主要太过在意了算法,并没有将它们分开列出来,分别列出来就很简单了:
第一个月—————–1
第二个月—————–1
第三个月—————–2
第四个月—————–3
第五个月—————–5
第六个月—————–8
第七个月—————–13
…
由此可见,去掉前两个月的兔子对数,以后每月的兔子对数就是前两个月的对数之和。是一个斐波拉契数(不知道的看客可自行百度)的问题。
那么程序就可以这样写:
public class Try
{
public static void main(String[] args)
{
System.out.println(“第1个月的兔子对数: 1”);
System.out.println(“第2个月的兔子对数: 1”);
int f1 = 1, f2 = 1, f;
for(int i=3; i<=12; i++)
{
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println(“第” + i +”个月的兔子对数: “+f2);
}
}
}
运行结果得出每月的兔子对数。利用的是迭代的思想。
第一次写博客,有很多不足之处,望谅解!