题解:P10858 [HBCPC2024] Long Live

· · 题解

签到题,但是不如 E。

题意简述

给定 xy。求一组 (a,b) 使 \sqrt{\dfrac{\operatorname{lcm}(x,y)}{\gcd(x,y)}}=a\sqrt{b}a\times b 最大。

思路

两边平方,得 \dfrac{\operatorname{lcm}(x,y)}{\gcd(x,y)}=a^2b

两边同时除以 a,得 \dfrac{\frac{\operatorname{lcm}(x,y)}{\gcd(x,y)}}{a}=ab

$a$ 最小显然是 $1$,则 $b$ 是 $\dfrac{\operatorname{lcm}(x,y)}{\gcd(x,y)}$,于是输出即可。 ## 代码 ``` #include<bits/stdc++.h> using namespace std; void solve(long long a,long long b){ long long g=(a*b/__gcd(a,b))/__gcd(a,b); printf("1 %lld\n",g); } int T; long long a,b; int main(){ scanf("%d",&T); while(T--){ scanf("%lld%lld",&a,&b); solve(a,b); } return 0; } ```