斐波那契介绍:
这里引用百度的一段话---斐波那契数列又称黄金数列,数学家莱昂纳多·斐波那契以兔子繁殖为例引入,故又称兔子数列,其数值为1、1、2、3、5、8、13、21、34、55······
在数学上,这一数列以如下递推的方式定义:f(1)=1,f(2)=1,f(3)=2,f(n)=f(n-1)+f(n-2)[n>2,n∈正整数】
斐波那契数列代码递推实现
/**
* 斐波那契数列
*/
public class solution {
public static void main(String[] args) {
//明确要输入的数字
Scanner sc=new Scanner(System.in);
System.out.println("请输入第几项斐波那契数列");
int n= sc.nextInt();
//特殊情况,分开讨论
//第一种情况无论n为1还是2,根据斐波那契数列特征都为1
if (n == 1 || n == 2) {
System.out.println("答案:1");
}
//第二种情况当n大于2时,第n项斐波那契数列的值为它前面两项相加的和
if (n > 2) {
int a = 1;//代表斐波那契数列第一个数字
int b = 1;//代表斐波那契数列第二个数字
int c = 0;//代表初始值以及后续计算所得数字
//这里初始理解为当n取3时,c=2,后续a=1,b=2,就是当n取4时的前两项值
for (int i = 2; i < n; i++) {
c = a + b;
a = b;
b = c;
}
System.out.println("答案:" + c);
}
//第三种情况n值不符合,这里直接排除假设为-1
if(n<0) {
System.out.println("答案:-1");
}
}
}
结语
斐波那契代码实现就是如此,也可以单独写一个函数,在其中实现确定斐波那契数列第几项的值,然后在主函数里面调取它。
如果代码存在问题,感谢您的指正。