C语言 计算fibonacci数列?

C语言 计算fibonacci数列?,第1张

C语言程序代码如下:
#include <stdioh>


main()


{


long int f1,f2;


int i;


f1=1;


f2=1;


for (i=1;i<=9;i++)


{
printf("%ld %ld   ",f1,f2);


if (i%3==0) printf("\n");

     
f1=f1+f2;


f2=f2+f1;

}
return 0;


}

if语句是使输出6个数后换行。因为i是循环变量,当i为偶数时换行,因此i每隔2换一次行相当于每输出6个数后换行。


输出结果如下

在c语言中,以vc为例利用数组求斐波那契数列的前20项的具体步骤如下:

1、首先,打开vc;

2、点击文件、新建;

3、选择win32 console application 并在右侧输入工程的名字和地址,确定;

4、选择一个空的工程,完成;

5、再次点击文件、新建,

6、选择c++ source file 并输入文件名字,确定;

7、输入如图所示的代码,这里以前十个斐波那契数列数为例,需要输出其他个数请把5改成对应数字的一半(比如要输出前20个,就把图中的5改成10);

8、点击右上角的编译运行按钮;

9、ok!我们成功地输出了斐波那契数列的前20项。

斐波那契数列是:1,1,2,3,5,8,13,21,34,55,89
规律是:f[0]=1,f[1]=1,f[i]=f[i-1]+f[i-2],i>1

所以在C语言中利用数列的求法如下:
#include <stdioh>
void main()
{
int i,array[20]={1,1};
for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}

斐波拉契的当前像是前两项之和。

#include <stdioh>
int fibonacci(int n)
{
    if (n <= 2)
        return 1;
    return fibonacci(n-1) + fibonacci(n-2);
}
int main()
{
    int n, m;
    printf("input n and m : ");
    scanf("%d %d", &n, &m);
    printf("fibonacci n ~ m : ");
    for (int i = n; i <= m; i++)
        printf("%d ", fibonacci(i));
    return 0;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13064940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存