方法函数:
递归:
非递归:
测试程序:
递归:
int
fib(int n)
{
if( n<=1 ) return n;
else return fib(n-1)+fib(n-2);
}
{
if( n<=1 ) return n;
else return fib(n-1)+fib(n-2);
}
非递归:
int
fib(int n)
{
int f1=0,f2=1,i,temp;
for(i=0;i<n;++i)
{
temp=f1; f1=f2; f2=temp+f1;
}
return f1;
}
{
int f1=0,f2=1,i,temp;
for(i=0;i<n;++i)
{
temp=f1; f1=f2; f2=temp+f1;
}
return f1;
}
测试程序:
#include <iostream>
using namespace std;
int fib(int n)
{
int f1=0,f2=1,i,temp;
for(i=0;i<n;++i)
{
temp=f1;
f1=f2;
f2=temp+f1;
}
return f1;
}
int main()
{
int n=0;
int t=0;
cout<<"请输入n"<<endl;
cin>>n;
t=fib(n);
cout<<t;
return 0;
}
运行演示:
using namespace std;
int fib(int n)
{
int f1=0,f2=1,i,temp;
for(i=0;i<n;++i)
{
temp=f1;
f1=f2;
f2=temp+f1;
}
return f1;
}
int main()
{
int n=0;
int t=0;
cout<<"请输入n"<<endl;
cin>>n;
t=fib(n);
cout<<t;
return 0;
}
运行演示: