①递归
给定第一个值1,第二个值1,第三个值就为第一个值和第二个值的和;
第n个值就为第n-1个值和第n-2个值的和;
以此为规律,编写代码。
②非递归(尾递归)
第二种非递归写法就顺着想;
举个栗子:
我们先写出一列斐波那契数列 1 1 2 3 5 8;
3 = 2 + 1;
5 = 3 + 2;
8 = 5 + 3;
不难发现,数列在向前移动,产生了数值交换。一个数是前两个数的和,也会成为下一个加数。
给定第一个值1,第二个值1,第三个值就为第一个值和第二个值的和;
第n个值就为第n-1个值和第n-2个值的和;
以此为规律,编写代码。
第二种非递归写法就顺着想;
举个栗子:
我们先写出一列斐波那契数列 1 1 2 3 5 8;
3 = 2 + 1;
5 = 3 + 2;
8 = 5 + 3;
不难发现,数列在向前移动,产生了数值交换。一个数是前两个数的和,也会成为下一个加数。