JS实现斐波那契数列

首先要明白斐波那契数列是什么,就是前两个数字的和是第三个数字

比如 1 1 2 3 5 8 13

那么第2个数字1 就是0+1

       第3个数字2  就是1+1

       第4个数字3  就是1+2

用数学的思想就是:f(n)=f(n-1)+f(n-2)

所以第一种方法是用递归:

接下来,我们用非递归的方式实现:

思想

首先我们定义s1  s2  代表 数列中前两个数字 1  ,sum代表它们的和


如上图,如果我们数列的个数小于3,那么就输出1;现在是前三个数字,如果第四个数字呢?第四个数字就是3,那么,此时s1会指向s2的位置,s2会指向sum的位置,sum会指向3,如下图:


所以我们的代码思想应该是这样:如果n小于3,那么他输出1.如果n大于等于3,则为前两个数字相加的和。也就是:s1向后移动到s2的位置(将s2的值给s1),s2向后移动到了之前sum的位置(将之前计算的sum赋值给s2),而此时的sum是位置移动后的s1和s2的和:


你可能感兴趣的:(JS实现斐波那契数列)