RE8组是什么鬼啊 求助
查看原帖
RE8组是什么鬼啊 求助
323183
CLCK楼主2020/8/24 21:56

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;
}
2020/8/24 21:56
加载中...