求斐波那契数列问题的递归思想是:当n=0或n=1时,斐波那契数列为0或1;当n>1时,斐波那契数列F(n)=F(n-1)+F(n-2);函数fib只需将定义的公式用程序语言表达即可,非常直观
#include<iostream.h>
int fib(int n)
{
int f=0;
if(n==1) return 0;
if(n==2) return 1;
f=fib(n-1)+fib(n-2);
return f;
}
int main()
{
int n,i,m=0;
cin>>n;
m=fib(n);
cout<<"第"<<n<<"项是"<<m<<endl;
m=0;
for(i=1;i<=n;i++)
m=fib(i)+m;
cout<<"前"<<n<<"项和是"<<m<<endl;
return 0;
}