求辨析循环与递归的区别
对于这样的题目:著名的菲波拉契(Fibonacci)数列,其第一项为0,第二项为1,从第三项开始,其每一项都是前两项的和。编程求出该数列前N项数据。就我本人的想法,以下的代码本人觉得是用递归方法来写的:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int f1=1,f2=1,f3;
int n,a=6;
cout<<"请输入一个数字:";
cin>>n; //用户根据所需输入对应的数值
for(int i=1;i<=n;i++)
{
f3=f1+f2;
cout.setf(ios::left);//向左对齐
if(i%a!=0) //控制每一行所打印的数量
cout<<setw(10)<<f3;
else
cout<<endl;
f1=f2;
f2=f3;
}
cout<<endl;
return 0;
}
但后来我再想想看,觉得有点疑问,我不敢确定以上的代码是按照递归思想来写的,有时候看着看着就觉得以上的代码跟循环方法没什么区别啊,求辨析一下