티스토리 뷰

728x90

www.acmicpc.net/problem/1934

 

1934번: 최소공배수

두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있

www.acmicpc.net

C++ 정수론 및 조합론

양아치 같지만 정수론 및 조합론에 문제가 추가돼있어서..

공유기설치하다가 넘어왔습니다..

 

접근방법

유클리드 호제법으로 풀이한 최소공배수

- 유클리드 호제법 : A에는 B를 대입하고, B에는 A%B를 대입하면서 A%B가 0이 될때 B의 값이 최대공약수이다.

- 최소 공배수 = 두수의 곱 / 최대공약수

이 두가지를 적용해서 푼 코드

 

소스코드

#include <iostream>
using namespace std;

int main(){
    int T;
    cin >> T;
    int A,B,temp,result;
    
    for(int i = 0 ; i < T ; i++){
        cin >> A >> B;
        result = A*B;
        while(A%B != 0){
            temp = B;
            B = A%B;
            A = temp;
        }
        cout << result/B << "\n";
    }
    return 0;
}
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함