Java实现斐波那契数列实例
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔 子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, 问每个月的兔子总数为多少?
- 兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21…
观察数列,很容易得出,从 [第三项] 开始,[每一项] 的 值 为 [前面两项] [数值]的[和] 。
一、 按照思路进行设计 ;缺点 :代码冗长;有点:速度快,时间复杂度较为理想
import java.util.Scanner;
public class Work01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份: ");
int month = scanner.nextInt(); //获取要查询的月份 ,此处输入其他字符会出现异常,有兴趣的可以自行琢磨
int index = 1 ; //定位存入数组的下标
long rabbit = 1 ; //兔子的数量
long flagAgo1 = 1 , flagAgo2 = 1; //分别存放前两个月兔子的数量
long[] rabbitArr = new long[month]; //定义长度为month大小的数组,用于存放1-->month-1的兔子的数量
for (int i = 1; i<