【題目敘述】https://zerojudge.tw/ShowProblem?problemid=e794
【解題想法】斐波那契數列
- 留意資料輸出時,先印出較小的數字。
#include <iostream>
using namespace std;
int main() {
int n;
int F0 = 1, F1 = 1, F2;
cin >> n;
int L = F0;
int W = F0 + F1;
for (int i=2; i<n; i++){
F2 = F0 + F1;
if (i % 2){
W += F2;
} else {
L += F2;
}
F0 = F1;
F1 = F2;
}
cout << min(L, W) << ":" << max(L, W) << endl;
return 0;
}
Python code (credit: Amy Chou)
n = int(input())
F0 = 1
F1 = 1
L = F0
W = F0 + F1
for i in range(2, n):
F2 = F0 + F1
if i % 2:
W += F2
else:
L += F2
F0 = F1
F1 = F2
print(min(L, W), ":", max(L, W), sep='')