(1)使用向量:
#include<iostream> #include<vector> using namespace std; int FenShu(int); int main() { double sum=0,sum1=0; for(int i=2;i<=200;i++) { sum1+=FenShu(i); } sum=sum1+0.5; cout<<sum<<endl; return 0; } int FenShu(int index) { double temp; vector<int> a(2,1); a.reserve(3); a.at(0)=1; a.at(1)=2; for(int i=2;i<=index;i++) { a.insert(a.begin(),a.at(0)+a.at(1));//好SB的问题,begin后得有括号 a.pop_back(); temp=((a.at(1))/(a.at(0))); } return temp; }
(2)使用数组,有点问题
#include<iostream> using namespace std; int FenShu(int); int main() { double sum=0,sum1=0; for(int i=2;i<=200;i++) { sum1+=FenShu(i); } sum=sum1+0.5; cout<<sum<<endl; return 0; } int FenShu(int index) { double temp; int *a=new int[200]; a[0]=1; a[1]=2; for(int k=2;k<=index;k++) { a[k]=a[k-1]+a[k-2]; temp=a[k-1]/a[k]; } return temp; }