java中斐波那契数列的简单实现方法

王林
王林 转载
2019-11-26 13:27:08 1741浏览

斐波那契数列指的是:数列的后项等于前两项的和,代码中我们用a[i]=a[i-1]+a[i-2]实现。

典型兔子生小兔问题

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对,假设每对小兔子都不死,编程实现求每个月兔子对数。

相关视频教程推荐:java教学视频

代码示例:

核心代码,斐波那契数列(后项等于前两项的和):

public static void getTuTu(int[] tutu, int n) {
		if (n == 1) {
			System.out.println("第一个月兔子对数为1");
		} else if (n == 2) {
			System.out.println("第二个月兔子对数为1");
		} else {
			tutu[0] = 1;
			tutu[1] = 1;
			System.out.println("第1个月兔子对数为1");
			System.out.println("第2个月兔子对数为1");
			for (int i = 2; i < n; i++) {
				tutu[i] = tutu[i - 1] + tutu[i - 2];//数组记录兔子对数
				System.out.println("第" + (i + 1) + "个月的兔子对数为" + tutu[i]);
			}
		}
	}

完整代码:

package day191125;

import java.util.Scanner;

public class TuZi {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		while (true) {
			System.out.println("=========");
			System.out.println("输入求第几个月的兔子:");
			int n = input.nextInt();
			if (n <= 0) {
				System.out.println("输入错误重新输入");
				continue;
			}
			int[] tutu = new int[n];
			getTuTu(tutu, n);
		}

	}

	public static void getTuTu(int[] tutu, int n) {
		if (n == 1) {
			System.out.println("第一个月兔子对数为1");
		} else if (n == 2) {
			System.out.println("第二个月兔子对数为1");
		} else {
			tutu[0] = 1;
			tutu[1] = 1;
			System.out.println("第1个月兔子对数为1");
			System.out.println("第2个月兔子对数为1");
			for (int i = 2; i < n; i++) {
				tutu[i] = tutu[i - 1] + tutu[i - 2];

				System.out.println("第" + (i + 1) + "个月的兔子对数为" + tutu[i]);
			}
		}
	}
}

运行结果图:

bff12493a7f8b143e2aaf9f77b4da20.png

当然实现的方法不止这一种,这里只是简单介绍一种方法。

想了解更多相关教程,可以访问java入门学习,欢迎大家一起来讨论学习。

以上就是java中斐波那契数列的简单实现方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除