728x90
https://www.acmicpc.net/problem/1934
1. 최소공배수를 구할때 유클리드 호제법을 이용해서 최대공약수를 우선 구해준다.
2. 최소공배수는 숫자1 * 숫자2 를 한값에 최대공약수를 나누어주면 최소공배수가 되는걸 이용해 해결한다.
<나의 코드>
#include <stdio.h>
int Euclidean(int A, int B)
{
int temp;
if (A < B)
{
temp = A;
A = B;
B = temp;
}
if (B == 0)
return (A);
return (Euclidean(B, A%B));
}
int main()
{
int T, i;
int A, B, C;
scanf("%d", &T);
i = 0;
while (i < T)
{
scanf("%d %d", &A, &B);
C = A * B;
printf("%d\n", C / Euclidean(A, B));
i++;
}
return (0);
}
<개선점 or 비판점>
1. main문에서 while문을 i를 사용하지 않고
while (T--) 로 사용해서 코드를 더 줄일수 있을것이라 생각이 든다.
728x90
'backjoon > 여러가지' 카테고리의 다른 글
백준 1427 소트인사이드 c언어 (0) | 2023.02.03 |
---|---|
유클리드 호제법 c언어 구현하기 (0) | 2023.01.29 |
qsort함수 (0) | 2023.01.28 |
백준 1037 약수 c언어 (0) | 2023.01.28 |
백준 5086 c언어 (0) | 2023.01.27 |
댓글