編寫一個求斐波那契數列的遞歸函數,輸入n值,使用該遞歸函數,輸出如下圖形。
P.S:借鑑的別人的代碼。。。。。實在是想不出來了,
把圖形從中間分成兩部分,依次根據斐波那契數列的公式輸入。
但是斐波那契數列與本題不完全相同。
斐波那契數列:
F(0)=1;
F(1)=1;
F(n)=F(n-1)+F(n-2);(n>=2)
但是本題依圖形來看應是:
F(0)=0;
F(1)=1;
F(n)=F(n-1)+F(n-2);(n>=2)
#include <iostream>
using namespace std;
int fun(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
else
return fun(n-1)+fun(n-2);
}
int main()
{
int n;
while(1)
{
cout<<"請輸入n:";
cin>>n;
if(n==0)
break;
for(int i=0;i<n;++i)
{
for(int j=0;j<(2*n-1)-(2*i+1);++j)
cout<<" ";
for(int k=0;k<2*i+1;++k)
cout<<fun(k)<<" ";
cout<<endl;
}
cout<<endl;
}
return 0;
}