斐波那契数列(Fibonacci sequence),又称黄金分割数列
,因数学家莱昂纳多·斐波那契(Leonardo
Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……
以上是百度百科上写的关于斐波那契数列的定义
简单来说斐波那契数列就是前两个数为1,从第三项开始后边的每一位都是相邻前边两位的和
那么要求输入一个正整数 n ,输出斐波那契数列的第 n 项。
如何用Java代码实现上述要求?刚看到题的时候没思路,后边我想的是使用动态数组,根据输入的正整数判断计算到第几位按顺序添加到动态数组中,再根据要求去查询,但是敲代码过程中不知道是我逻辑问题还是动态数组使用问题,总之就是一系列报错。
再后来改变思路,定义一个方法,然后在方法体内调用该方法,使用递归的方法来实现,根据输入的数字判断嵌套几层来实现求相应的第n项的值。
以下是代码实现,供大家参考:
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner Sc = new Scanner(System.in);
int num = Sc.nextInt();
int fib = Fib(num);
System.out.println(fib);
}
public static int Fib(int num) {
if (num <= 1) {
return num;
} else {
return Fib(num - 1) + Fib(num - 2);
}
}
}