RT
代码:
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int a, b, l;
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
struct fs {
int son, mo;
double dis;
} s[105];
bool cmp(fs a, fs b) {
return a.dis <= b.dis;
}
int main() {
cin >> a >> b >> l;
if (a == b) {
cout << 1 << endl;
return 0;
}
int cnt = 0;
if (a >= b) {
for (int i = 1; i <= l; i++) {
for (int j = 1; j < i; j++) {
if (gcd(i, j) == 1) {
s[cnt].son = i;
s[cnt].mo = j;
s[cnt++].dis = abs(1.0 * a / b - 1.0 * i / j);
}
}
}
} else {
for (int i = 1; i <= l; i++) {
for (int j = i + 1; j <= l; j++) {
if (gcd(i, j) == 1) {
s[cnt].son = i;
s[cnt].mo = j;
s[cnt++].dis = abs(1.0 * a / b - 1.0 * i / j);
}
}
}
}
sort(s, s + cnt - 1, cmp);
cout << s[0].son << " " << s[0].mo << endl;
return 0;
}