📅  最后修改于: 2023-12-03 14:55:03.472000             🧑  作者: Mango
斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21、34……在数学上,斐波那契数列以如下被以递推的方法定义:
F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2) (n>=2)
本文介绍了如何编写一个可以查找斐波那契数列中数字的第n倍数的Java程序。
下面是一个可以返回斐波那契数列中数字的第n倍数的Java程序:
public class FibonacciSequence {
public static void main(String[] args) {
int n = 10; // 返回斐波那契数列中数字的第n倍数
int fibonacci = getFibonacci(n);
System.out.println("斐波那契数列中数字的第" + n + "倍数是:" + fibonacci);
}
// 返回斐波那契数列中数字的第n倍数的方法
public static int getFibonacci(int n) {
if (n <= 0) {
return 0;
} else if (n == 1 || n == 2) {
return 1;
} else {
int prevPrev = 1;
int prev = 1;
int fibonacci = 0;
for (int i = 3; i <= n; i++) {
fibonacci = prevPrev + prev;
prevPrev = prev;
prev = fibonacci;
}
return fibonacci;
}
}
}
上面的代码中,我们定义了一个FibonacciSequence
类,其中包括一个getFibonacci
方法用于返回斐波那契数列中数字的第n倍数。在main
方法中,我们传入一个要查找的倍数n
,并调用getFibonacci
方法来计算结果。最后,程序将打印结果。
在getFibonacci
方法中,我们首先判断传入的参数是否小于等于0,如果是,则返回0;如果传入的参数是1或2,返回1。如果传入的参数大于2,则执行循环来计算斐波那契数列中第n个数的值。
循环中,我们定义了三个变量prevPrev
、prev
和fibonacci
。由于斐波那契数列中第1个数和第2个数都是1,我们将prevPrev
和prev
的初始值都设置为1。在每次循环中,我们将prevPrev
赋值为prev
,prev
赋值为fibonacci
,然后计算出当前数字的值。最后,fibonacci
变量中存储的就是斐波那契数列中第n个数的值。
通过上述代码,我们可以很容易地计算斐波那契数列中数字的第n倍数。如果我们想查找10倍数,只需要将n
的值设置为10即可。
此外,我们还可以将上述代码封装为一个专门用于计算斐波那契数列的工具类,方便其他程序员在自己的项目中使用。