版权声明:所有分享的源代码仅供学习使用,欢迎分享转载,请注明出处 https://blog.csdn.net/weixin_43328024/article/details/84769854
斐波那契数列C++与C分别实现
介绍:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)(n>=4,n∈N*)
代码分享C++:
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int i;
int N;
cout << "需要求多少项斐波那契数列:"<<endl;
cin >> N ;
long double f[1000] = {1,1};//定义数组并初始化
for(i=2;i<N;i++)
{
f[i] = f[i-2]+f[i-1];
cout.flags(ios::left);//设置左对齐
}
for(i=0;i<N;i++)
{
if(i % 5 == 0)
cout << endl;//相当于打印\n换行
cout << setw(30)<<f[i];//设置数据宽度
}
cout << endl;
}
运行结果:
总结:在用C++实现斐波那契数列过程中,因为测试数列项比较大,故将数组定义为long double 型,但在设置宽度时和每5个数列元素换行产生了一些冲突,导致代码运行结果4个一行。
代码分享C语言:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int N;
printf("需要计算多少项斐波那契数列:\n");
scanf("%d",&N);
double f[1000] = {1,1};
for(i=2;i<N;i++)
{
f[i]=f[i-2]+f[i-1];
}
for(i=0;i<N;i++)
{
if(i % 5 == 0)
printf("\n");
printf("%.lf\t",f[i]);
}
printf("\n");
return 0;
}
运行结果:
以上就是用C++和C来实现斐波那契数列的程序操作,希望对大家有帮助,也欢迎大佬提出意见想法。