【codeforces】【比賽題解】#854 CF Round #433 (Div.2)
阿新 • • 發佈:2017-09-07
max code turn font tdi 想要 scanf printf clu
cf一如既往挺喪
看喪題點我!
【A】分數
Petya是數學迷,特別是有關於分數的數學。
最近他學了所謂一個分數被叫做“真分數”當且僅當其分子小於分母,而一個分數被叫做“最簡分數”當且僅當其分子分母互質。
在閑暇時間,Petya在用計算器研究:如何把最簡真分數轉換為小數等問題。有一天他不小心把除號(÷)按成了加號(+),導致他得到了分子與分母的和。
Petya想要得到他原來的分數,但他很快發現這不是唯一的。所以現在他想要知道最大的最簡真分數使得其分子與分母的和為n。
輸入
一個正整數,n(3<=n<=1000)。
輸出
兩個數,最大的最簡真分數的分子與分母。
樣例輸入1
3
樣例輸出1
1 2
樣例輸入2
6
樣例輸出2
1 5
題解
很簡單的一題。枚舉分子算分母,判斷分子分母的gcd是否為1。
1 #include<cstdio> 2 int gcd(int x,int y){return y?gcd(y,x%y):x;} 3 int n,ans; 4 int main(){ 5 scanf("%d",&n); 6 for(int i=1;(i<<1)<n;++i) if(gcd(i,n-i)==1) ans=i; 7 printf("%d %d\n",ans,n-ans); 8 return 0; 9 }
【B】Maxim買公寓
什麽鬼啦
【codeforces】【比賽題解】#854 CF Round #433 (Div.2)