20分求助
查看原帖
20分求助
1391906
ljz329楼主2024/7/29 08:39
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
  while (b != 0) {
    int tmp = a;
    a = b;
    b = tmp % b;
  }
  return a;
}
int main(){
    int a,b,c,a1,b1;
    cin >> a >> b >> c;
    int max = gcd(a,b);
    for(int i = 1;i <= c;i++){
        for(int j = 1;j <= c;j++){
            if(gcd(a+i,b+j) > max){
                max = gcd(a+i,b+j);
                a1 = a+i;
                b1 = b+j;
            }
        }
    }
    for(int i = 1;i <= c;i++){
        for(int j = 1;j <= c;j++){
            if(gcd(a-i,b-j) > max){
                max = gcd(a+i,b+j);
                a1 = a-i;
                b1 = b-j;
            }
        }
    }
    printf("%d %d",a1/max,b1/max);
}

比较暴力

2024/7/29 08:39
加载中...