標題:
遞迴函式 (三) - 費氏數列
[打印本頁]
作者:
may
時間:
2024-12-12 22:28
標題:
遞迴函式 (三) - 費氏數列
費氏數列 - 維基百科
費氏數列規則如下:
第n項 = 第 n-1 項 + 第 n-2 項
即整個費式數列為:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377...
試完成一程式,能推算費氏數列至指定項次:
#include<iostream>
#include<cstdlib>
using namespace std;
int fai(int n)
{
if(n<2) //邊界條件
return n;
else
return fai(n-2)+fai(n-1);
}
/*
fai(5)
=fai(3)+fai(4)
=fai(1)+fai(2)+fai(2)+fai(3)
=1+fai(0)+fai(1)+fai(0)+fai(1)+fai(1)+fai(2)
=1+0+1+0+1+1+fai(0)+fai(1)
=1+0+1+0+1+1+0+1
=5
*/
int main()
{
int n;
cout<<"請問要推算費氏數列到第幾項次? ";
cin>>n;
for(int i=0; i<=n; i++)
cout<<fai(i)<<" ";
cout<<endl;
system("pause");
return 0;
}
複製代碼
作者:
黃荏澧
時間:
2024-12-14 17:34
#include<bits/stdc++.h>
using namespace std;
int f(int x)
{
if(x<2)
return x;
else
return f(x-2)+f(x-1);
}
int main()
{
int x;
cout<<"要推算到第幾項次? ";
cin>>x;
for(int i=0; i<=x; i++)
cout<<"第"<<i<<"項次為:"<<f(i)<<endl;
cout<<endl;
system("pause");
return 0;
}
複製代碼
作者:
陳奕睿
時間:
2024-12-14 17:36
#include<bits/stdc++.h>
using namespace std;
{
int f(int n);
if(n==0 || n==1)
return n;
else
return f(n-2)+f(n-1);
}
int main()
{
int n;
cout<<"請問要推算費氏數列到第幾次?";
cin>>n;
for(int i=0;i<=n;i++)
cout<<f(i)<<" ";
return 0;
}
複製代碼
作者:
王韋鈞
時間:
2024-12-14 17:37
#include<iostream>
#include<cstdlib>
using namespace std;
int a(int n)
{
if (n==0)
return 0;
else if(n==1)
return 1;
return a(n-1)+a(n-2);
}
int main()
{
int n;
cin>>n;
cout<<a(n);
}
複製代碼
作者:
翁祐安
時間:
2024-12-14 17:42
#include<iostream>
#include<cstdlib>
using namespace std;
int fai(int n)
{
if(n<2) //邊界條件
return n;
else
return fai(n-2)+fai(n-1);
}
int main()
{
int n;
cout<<"請問要推算費氏數列到第幾項次? ";
cin>>n;
for(int i=0; i<=n; i++)
cout<<fai(i)<<" ";
cout<<endl;
system("pause");
return 0;
}
複製代碼
作者:
翁品皓
時間:
2024-12-14 17:44
#include<bits/stdc++.h>
using namespace std;
int a(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
return a(n-1)+a(n-2);
}
int main()
{
int n;
cin>>n;
cout<<a(n);
return 0;
}
複製代碼
作者:
張馭棋
時間:
2024-12-27 22:06
#include<bits/stdc++.h>
using namespace std;
{
int f(int n);
if(n==0 || n==1)
return n;
else
return f(n-2)+f(n-1);
}
int main()
{
int n;
cout<<"請問要推算費氏數列到第幾次?";
cin>>n;
for(int i=0;i<=n;i++)
cout<<f(i)<<" ";
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2