[cpp] /* B題, 題意:給你x,y,n; a(a>=0),b(b<=n),要你找出離 x/y 最近的分數 a/b 。 如果存在多個結果,則取分母最小的,如果還有多個結果,則取分子最小的 解析:從 1 到 n 的分母進行遍歷,然後對每一個分母找出最接近的分子,其中分子不需要每次從0開始算。。。 小學知識:分子相同,分母大的反而小。。。。 */ #include<iostream> #include<cstdio> #include<cmath> using namespace std; int main(){ double x,y,n; while(cin>>x>>y>>n){ double p=0,q=1,a=0,b=1,ans=99999999; while(b<=n){ while(abs(a/b-x/y)>abs((a+1)/b-x/y)) a++; if(abs(a/b-x/y)<ans){ p=a; q=b; ans=abs(a/b-x/y); } if(ans==0) break; b++; } cout<<p<<"/"<<q<<endl; } } [cpp] view plaincopy /* A 題 題意:給你字符串,第一個字母一定要是大寫的形式輸出。。 */ #include<iostream> #include<cstdio> #include<string> #include<algorithm> #define manx 100009 using namespace std; int main(){ string str; while(cin>>str){ if(str[0]<='z'&&str[0]>='a') str[0]=(str[0]-'a')+'A'; cout<<str<<endl; } } /* ApPLe konjac */