프로그래밍 알고리즘
[정올 2498] 공약수
꾸준한사람
2023. 1. 8. 21:32
반응형
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1759&sca=99&sfl=wr_hit&stx=2498
JUNGOL
www.jungol.co.kr
#include <stdio.h>
/* 최대공약수 G, 최대공배수 L
GL = AB / Gx = A / Gy = B / L = xyG
*/
int G, L, A, B;
void Input()
{
scanf("%d %d", &G, &L);
}
int gcd(int a, int b)
{
return b ? gcd(b, a % b) : a;
}
int main(void)
{
Input();
int xy = L / G;
int x = 0, y = 0;
for (int i = 1; i * i <= xy; i++)
{
if (xy % i == 0)
{
x = i;
y = xy / i;
if (gcd(x, y) == 1)
{
A = x * G; B = y * G;
}
}
}
printf("%d %d\n", A, B);
return 0;
}
반응형