NOIP2014 普及組第二題 比例簡化

瘋狂的函數 2022-01-07 20:42:12 阅读数:660

noip2014 noip 普及 第二 比例

題目描述

在社交媒體上,經常會看到針對某一個觀點同意與否的民意調查以及結果。例如,對某 一觀點錶示支持的有 1498 人,反對的有 902 人,那麼贊同與反對的比例可以簡單的記為1498:902。

不過,如果把調查結果就以這種方式呈現出來,大多數人肯定不會滿意。因為這個比例的數值太大,難以一眼看出它們的關系。對於上面這個例子,如果把比例記為 5:3,雖然與 真實結果有一定的誤差,但依然能够較為准確地反映調查結果,同時也顯得比較直觀。

現給出支持人數 A,反對人數 B,以及一個上限 L,請你將 A 比 B 化簡為 A’比 B’,要求在 A’和 B’均不大於 L 且 A’和 B’互質(兩個整數的最大公約數是 1)的前提下,A’/B’ ≥ A/B 且 A’/B’ - A/B 的值盡可能小。

輸入

輸入共一行,包含三個整數 A,B,L,每兩個整數之間用一個空格隔開,分別錶示支持人數、反對人數以及上限。

輸出

輸出共一行,包含兩個整數 A’,B’,中間用一個空格隔開,錶示化簡後的比例。

樣例輸入

1498 902 10

樣例輸出

5 3

提示

對於 100%的數據,1 ≤ A ≤ 1,000,000,1 ≤ B ≤ 1,000,000,1 ≤ L ≤ 100,A/B ≤ L。

程序實現

#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b,l,x,y;
cin>>a>>b>>l;
double m=1e9,tmp,k=a/b;
for(double i=1;i<=l;i++)
{
for(double j=1;j<=l;j++)
{
tmp=i/j-k;
if(tmp<m&&tmp>=0)
{
x=i;
y=j;
m=tmp;
}
}
}
cout<<x<<" "<<y;
return 0;
}
版权声明:本文为[瘋狂的函數]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201072042124014.html