P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题

用户头像 发布于 2 天前 19 次阅读 OI


P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题

不妨令 b=1, gcd(c,d)=gb=1,\ gcd(c,d)=g,所以 a+c+d=cdga+c+d=\frac{cd}{g}

a=2pk (2k), c=xg, d=yg (gcd(x,y)=1)a=2^p \cdot k \ (2\nmid k), \ c=xg,\ d=yg\ (gcd(x,y)=1),那么有:2pk=g(xyxy)2^p\cdot k=g(xy-x-y)

不妨令 g=1g=1,若 p=0p=0,解方程得一组特解为:x=2, y=k+2x=2,\ y=k+2

根据特解再把 2p2^p 乘回去即可,代码:

#include<bits/stdc++.h>
using namespace std;
int T,a,x;
int main(){
    scanf("%d",&T);
    while(T--){
        x=1,scanf("%d",&a);
        while(a%2==0) a/=2,x*=2;
        printf("1 %d %d\n",2*x,(a+2)*x);
    }
	return 0;
}