#45210: c++解法參考


louis14888@gmail.com (里里里wow)

學校 : 新北市立永平高級中學
編號 : 273476
來源 : [39.14.16.144]
最後登入時間 :
2025-02-10 22:08:11
e794. p1.黃金比例 -- 2019年12月TOI新手同好會 | From: [118.231.176.27] | 發表日期 : 2025-01-26 00:26

#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
while(cin>>a){
if(a<1||a>45){
return 0;
}
int b=0;
if(a==1){
cout<<'1'<<':'<<'1'<<endl;//第1項和第2項直接輸出 第3項開始用公式
continue;
}
else if(a==2){
cout<<'2'<<':'<<'1'<<endl;
continue;
}
vector<int>ans={1,1};//ans的第0,1項都先設為1
for(int i=2;i<=a;i++){//假如題目從第3項開始的話 計算會是ans第0項加第1項 符合
b=0;//每次計算都要把b清空 不然一直疊加上之前的值
b+=ans[i-1]+ans[i-2];
ans.push_back(b);// 發現第3項在ans第2的位置
}
cout<<ans[a-2]+ans[a-3]<<':'<<ans[a-1]+ans[a-2]<<endl;//輸出時ans裡面的項數位置和實際不同 
}
return 0;
}

 
ZeroJudge Forum