方法函数:
递归:
非递归:
测试程序:
递归:
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;
}
运行演示: