题目大意 \(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");
}
}
原文地址:https://www.cnblogs.com/whx1003/p/11741370.html
时间: 2024-11-07 15:16:40