计算前8位斐波那契数列的和,即1,1,2,3,5,8,13,21。 [1] non-recursive way // [1] non-recursive way #include <iostream> using std::cin; using std::cout; using std::endl; int main() { int pos=2,m=1,n=1,count=0,res=0; do { res+=pos; pos=m+n; m=n; n=pos; ++count; if (count==7) { break; } } while (1); // print sum cout<<"sum: "<<res<<endl;// 54 return 0; } [2] recursive way // [2] recursive way #include <iostream> using std::cin; using std::cout; using std::endl; int fun(int n) { int pos=0; ( n==0 || n==1 ) ? (pos=1) : (pos=(fun(n-1)+fun(n-2))); return pos; } int main() { int res=0,count=0; do { res+=fun(count++); if (count==8) { break; } } while (1); cout<<"sum: "<<res<<endl;// 54 return 0; }