1934번: 최소공배수
두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있�
www.acmicpc.net
유클리드 호제법을 짧게 구현할 수 있도록 연습하자.
ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
유클리드 호제법 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 �
ko.wikipedia.org
해당 글에서 가장 짧은 함수를 암기해두면 좋을 것 같다.
int gcd(int x, int y){
return y ? gcd(y, x%y) : x;
}
#include <cstdio>
int gcd(int A, int B){
return B ? gcd (B, A%B) : A;
}
int function(int A, int B){
return A*B/gcd(A, B);
}
int main(void){
int T, A, B;
scanf("%d", &T);
for(int i=0; i<T; i++){
scanf("%d %d", &A, &B);
printf("%d\n", function(A, B));
}
}
'알고리즘 문제' 카테고리의 다른 글
[C/C++ 백준 1735번] 분수 합 (Silver 2) (0) | 2020.10.11 |
---|---|
[C/C++ 백준 9613번] GCD 합 (Silver 3) (0) | 2020.10.11 |
[C/C++ 백준 1697번] 숨바꼭질 (Silver 1) (0) | 2020.10.03 |
[C/C++ 백준 2667번] 단지번호붙이기 (Silver 1) (0) | 2020.10.03 |
[C/C++ 백준 2178번] 미로 탐색 (Silver 1) (0) | 2020.10.03 |