思路
- 从第三项开始,等于前两项的和
第一种方法代码实现
intmain() { inta[20]={1,1},i; //定义数组,方便循环遍历赋值printf("%d %d ",a[0],a[1]); for(i=2;i<20;i++) { a[i]=a[i-1]+a[i-2]; printf("%d ",a[i]); } return0; }
第一种方法运行结果
第二种方法代码实现
intmain() { inti,a=1,b=1; for(i=0;i<10;i++) { printf("%d %d ",a,b); a=a+b; b=b+a; } return0; }
第二种方法代码结果
第三种方法代码实现
#include<iostream>usingnamespacestd; intfun(intn){ if(n==1||n==2) return1; returnfun(n-1)+fun(n-2); } intmain(){ for(inti=1;i<=20;i++){ cout<<fun(i)<<" "; } return0; }