方法一:递归函数 方法二:数组法 代码附上:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
这个数列从第3项开始,每一项都等于前两项之和。
#includeint F(int n); int main(void) { int n,ret; scanf("%d",&n); printf("%d",F(n)); return 0; } int F(int n) { if(n==1||n==2)//数列前两项单独列出 { return 1; } else { return F(n-1)+F(n-2); } }
#includeint main(void) { int a[20],i;//定义一个数组长度为20的数组 a[0]=1;//因为前两个元素没有规律,可以单独赋值并且输出 a[1]=1;//对数组里面前两个元素进行赋值 printf("%dn",a[0]);//数组下标从0开始 printf("%dn",a[1]); for(i=2;i<=20;i++) { a[i]=a[i-1]+a[i-2];//写一个for循环,依次对数组里面的值进行赋值 printf("%dn",a[i]);//同时依次输出数组 } return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)