根据斐波拉契数列来方式求解函数
- f(n)=f(n-1)+f(n-2)
<1>这是我刚开始的错误思路,固化为每三个月生产一次,但是每对兔子的出生月份不一样,那生产日期也不一样
package fiboracci;
import java.util.Scanner;
public class Fiboracci {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入月数:");
int num=input.nextInt();
int temp=1;
for (int i = 0;i <=num;i+=3) {
temp*=2;
}
System.out.println("第"+num+"个月有"+temp+"个兔子");
}
}
<2>根据根据斐波拉契数列来方式求解函数
- f(n)=f(n-1)+f(n-2)
package fiboracci;
import java.util.ArrayList;
import java.util.List;
public class FiboracciDemo1 {
List list=new ArrayList();
int temp=0;
public void fiboracci(int num) {
//按照月份储存兔子的出生日期
for (int i =0; i <=num; i++) {
if(i<3) {
list.add(i,1);
}else {
temp=(int)(list.get(i-1))+(int)(list.get(i-2));
list.add(i, temp);
}
}//for
System.out.println("第"+num+"个月一共有"+list.get(num)+"对兔子");
}//fiboracci
}
package fiboracci;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
FiboracciDemo1 fd=new FiboracciDemo1();
System.out.print("请输入月份:");
fd.fiboracci(input.nextInt());
}
}