C语⾔每⽇⼀练---斐波那契数列题⽬:
斐波那契数列指的是这样⼀个数列:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,
233,377,610,987,1597,2584,4181,6765,10946,17711,28657,
这个数列从第3项开始,每⼀项都等于前两项之和。
⽅法⼀:递归函数
⽅法⼆:数组法
代码附上:
1#include <stdio.h>
2int F(int n);
c语言编写递归函数3int main(void)
4{
5 int n,ret;
6 scanf("%d",&n);
7 printf("%d",F(n));
8 return 0;
9}
10int F(int n)
11{
12 if(n==1||n==2)//数列前两项单独列出
13 {
14  return 1;
15 }
16 else
17 {
18  return F(n-1)+F(n-2);
19 }
20}
1#include <stdio.h>
2int main(void)
3{
4 int a[20],i;//定义⼀个数组长度为20的数组
5 a[0]=1;//因为前两个元素没有规律,可以单独赋值并且输出
6 a[1]=1;//对数组⾥⾯前两个元素进⾏赋值
7 printf("%d\n",a[0]);//数组下标从0开始
8 printf("%d\n",a[1]);
9 for(i=2;i<=20;i++)
10 {
11  a[i]=a[i-1]+a[i-2];//写⼀个for循环,依次对数组⾥⾯的值进⾏赋值
12  printf("%d\n",a[i]);//同时依次输出数组
13 }
14 return 0;
15 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。