C++语言开发斐波那契数列程序 实验报告
时间: 2023-08-04 20:17:45 浏览: 139
实验目的:
1.了解C++语言基本语法和程序框架
2.掌握递归和循环两种实现斐波那契数列的方式
3.加深对递归和循环的理解,并对比两种方式的优缺点
实验步骤:
1.首先了解斐波那契数列的定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2) (n>=2)
2.根据定义,可以写出递归实现的代码:
```cpp
#include<iostream>
using namespace std;
int fib(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
return fib(n-1)+fib(n-2);
}
int main()
{
int n;
cout<<"请输入斐波那契数列的项数:";
cin>>n;
cout<<"斐波那契数列的前"<<n<<"项为:";
for(int i=0;i<n;i++)
cout<<fib(i)<<" ";
return 0;
}
```
3.递归实现的优点是代码简单易懂,并且直接套用定义,缺点是时间复杂度较高,计算量大。
4.接下来是循环实现的代码:
```cpp
#include<iostream>
using namespace std;
int fib(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
int f0=0,f1=1,f2;
for(int i=2;i<=n;i++)
{
f2=f0+f1;
f0=f1;
f1=f2;
}
return f2;
}
int main()
{
int n;
cout<<"请输入斐波那契数列的项数:";
cin>>n;
cout<<"斐波那契数列的前"<<n<<"项为:";
for(int i=0;i<n;i++)
cout<<fib(i)<<" ";
return 0;
}
```
5.循环实现的优点是时间复杂度低,计算量小,缺点是代码较为繁琐,容易出错。
实验结论:
通过本次实验,我们了解了C++语言的基本语法和程序框架,掌握了递归和循环两种实现斐波那契数列的方式,并对比了两种方式的优缺点。同时,我们也加深了对递归和循环的理解,为以后的程序开发打下了基础。
阅读全文