题解 UVa11889

题目大意 \(T\) 组数据,每组数据给定两个正整数 \(A,C\),求使 \(LCM(A,B)=C\) 的最小的 \(B\),若无解则输出NO SOLUTION。

分析 数论水题。当 \(C\%A=0\) 时有解。若有 \(LCM(A,B)=C\),则有 \(B\%(C/A)=0\)(为什么?)。故 \(B\) 最小为 \(C/A\)

#include<bits/stdc++.h>
using namespace std;

int T, A, C;

int main()
{
    scanf("%d", &T);
    while(T--) {
        scanf("%d%d", &A, &C);
        if(!(C % A)) printf("%d\n", C / A);
        else puts("NO SOLUTION");
    }
}

猜你喜欢

转载自www.cnblogs.com/whx1003/p/11741370.html