根據斐波拉契數列來方式求解函數
- 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());
}
}