微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

斐波那契数列指的是:数列的后项等于前两项的和,代码中我们用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入门学习,欢迎大家一起来讨论学习。

原文地址:https://www.jb51.cc/java/1191425.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐