菲波那契數 ----C++
阿新 • • 發佈:2019-01-23
第一種方法,藉助陣列。
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
int a[100]; //使用陣列方法
a[0]=0;
a[1]=1;
for(int i=2; i<=n; i++)
{
a[i]=a[i-1]+a[i-2]; //主要的計算
}
for(int j=0; j<n; j++) //查詢輸出,每一項
{
cout<<a[j]<<endl;
}
return 0;
}
第二種方法,藉助向量。
#include <fstream>
#include <iostream>
#include <vector> //引用容器
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v; //使用向量方法
v.push_back(0 );
v.push_back(1); //後插方式,相當於陣列的下標賦值。
for(int i=2; i<=n; i++)
{
v.push_back(v[i-1]+v[i-2]); //主要的計算
}
for(int j=0; j<n; j++) //查詢輸出,每一項
{
cout<<v[j]<<endl;
}
return 0;
}
使用向量容器,下標賦值:
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(n); //使用向量方法,向量大小為n
v[0]=0;
v[1]=1; //下標方式賦值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的計算
}
for(int j=0; j<n; j++) //查詢輸出,每一項
{
cout<<v[j]<<endl;
}
return 0;
}
定義的向量的大小是輸入的n,使用迭代器進行遍歷查詢。
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(n); //使用向量方法,大小是輸入的n
v[0]=0;
v[1]=1; //下標方式賦值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的計算
}
vector<int>::iterator it; //定義迭代器
for(it=v.begin(); it!=v.end(); it++)
{
cout<<*it<<endl;
}
return 0;
}
定義的向量的大小是固定值100,使用迭代器進行遍歷查詢。
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(100); //使用向量方法,預先定義
v[0]=0;
v[1]=1; //下標方式賦值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的計算
}
vector<int>::iterator it; //定義迭代器
for(it=v.begin(); it<=v.begin()+n-1; it++) //遍歷時候的上限要改變形式
{
cout<<*it<<endl;
}
return 0;
}
ps:本帖僅新手可見,其餘人員自行迴避。