(用java做)
1. 已知一对兔子每个月可以生一对小兔子,小兔子从出生后的第三个月可以生殖,
问:
一对兔子12个月后最终有多少对兔子?
(不考虑生病、意外、死亡) 2. 输出斐波拉数的前20个数:
如:
1 1 2 3 5 8 13...
1. 已知一对兔子每个月可以生一对小兔子,小兔子从出生后的第三个月可以生殖,
问:
一对兔子12个月后最终有多少对兔子?
(不考虑生病、意外、死亡) 2. 输出斐波拉数的前20个数:
如:
1 1 2 3 5 8 13...
问:
一对兔子12个月后最终有多少对兔子?
(不考虑生病、意外、死亡)
import java.util.ArrayList;
public class Born {
public Born() {
}
public int calculate(int month)
{
ArrayList list=new ArrayList();
list.add(new Rabbit());
for(int i=1;i<=month;i++)
{
int size=list.size();
for(int j=0;j<size;j++)
{
Rabbit rb=(Rabbit)list.get(j);
if(rb.month>=3){
list.add(new Rabbit());
}
rb.month++;
}
}
return list.size()*2;
}
public static void main(String args[])
{
Born br=new Born();
System.out.println(br.calculate(12));
}
}
class Rabbit
{
int month=1;
}
2. 输出斐波拉数的前20个数:
如:
1 1 2 3 5 8 13...
public int fib(int i)
{
if (i==1||i==2) return 1;
else return fib(1)+fib(2);
}