如何打印前20位的斐波拉契数列

什么是数列?

这个数列从第3项开始,每一项都等于前两项之和

格式:1,1,2,3,5,8,13,21。。。。。

思路:

1.利用交换的形式,两个值相加以后等于第三者,然后将第三者的值赋值给第二者,不断循环

2.利用递归

注释:首先知道斐波拉契数列的前两位数都是1,就得到 int a, b。

int a = 1, b = 1, sun = 0 ;

注释:让它1-19范围循环。当已知前两位的斐波拉契数列是1,所有让它循环到19就已经得出20的数值 for (int i = 0; i <= 19 ; i++){

注释:已知前两位是1,a等于b。现在 a b都是 1。重点(当看完下方时在来进行观看):当二次循环时 a = b 赋值还是1。 a = b;

注释:b = sun ,在上面sun是没有赋值的现在,sun等于1。重点(当看完下方时在来进行观看):当二次循环时 b = sun 赋值是2。 b = sun;

注释:再到sun,sun这时加上 a + b = 2已经得到了斐波拉契数列第三位数,开始循环。重点:当二次循环时 sun = a + b 时会变成3,以此的循环 sun = a + b;

注释:最后打印输出 System.out.print(sun+",");

完整公式: 

int a = 1, b = 1, sun = 0 ;
for (int i = 0; i <= 19 ; i++){
a = b;
b = sun;
sun = a + b;
System.out.print(sun+",");
}

第一次上传博客文章,如有不足地方还请提出,会采纳~

经验分享 程序员 微信小程序 职场和发展