1. 程式人生 > >【codeforces】【比賽題解】#854 CF Round #433 (Div.2)

【codeforces】【比賽題解】#854 CF Round #433 (Div.2)

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)