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;
}
沒有留言:
張貼留言