各位大佬,为什么我是80分啊,我所有情况都考虑到了吧。
#include <bits/stdc++.h>
using namespace std;
long double a, b, l, mn = 0x3f3f3f3f, ansa, ansb;
int gcd(int x, int y){
if (x == 0)
return y;
if (y == 0)
return x;
return gcd(max(x, y) % min(x, y), min(x, y));
}
int main() {
cin >> a >> b >> l;
long double f = 1.0 * a / b;
for (long double i = 1; i <= l; i++) {
for (long double j = 1; j <= l; j++) {
if (abs(f - 1.0 * i / j) < mn && gcd(int(i), int(j)) == 1)
ansa = i, ansb = j, mn = abs(f - 1.0 * i/ j);
}
}
cout << (int)ansa << ' ' << (int)ansb << endl;
return 0;
}