2009年8月8日 星期六

C++學習檔案 <數列前兩項相加>

C++學習檔案 <數列前兩項相加>

就是要顯示

1 1 2 3 5 8 13 21 ....

這樣的數列 ,每項都是前兩項相加


#include <iostream>

#include <iomanip>

using namespace std;

int main(){

int n,n1=1,n2=1,sum = 0;

cin >> n;

cout << setw(4) << n1 << setw(4)<< n2 ;

for(int i=0;i<n;i++){

i%2==0?n1=n1+n2:n2=n1+n2;

i%2==0?cout<< setw(4) << n1:cout << setw(4) << n2;

//if(i%2 == 0){

// n1=n1+n2;

// cout << n1 << endl;

// }else{

// n2=n1+n2;

// cout << n2 << endl;

// }

}

system("pause");

return 0;

}


============================
別種寫法



#include <iostream>

using namespace std;

int main() {

int fib[100];

int n;



cin >> n;

cout << endl;



for(int i=1;i<=n;i++){

if(i==1||i==2){

fib[i]=1;

}

else{

fib[i]=fib[i-1]+fib[i-2];

}

cout << fib[i] << endl;

}





system("pause");

return 0;

}

沒有留言:

張貼留言