Boj

[Boj] 백준 C++ #13241 최소공배수

ima9ine4 2023. 12. 28. 22:59
728x90

문제

정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 당신은 두 수에 대하여 최소공배수를 구하는 프로그램을 작성 하는 것이 목표이다.

입력

한 줄에 두 정수 A와 B가 공백으로 분리되어 주어진다.
50%의 입력 중 A와 B는 1000(103)보다 작다. 다른 50%의 입력은 1000보다 크고 100000000(108)보다 작다.
추가: 큰 수 입력에 대하여 변수를 64비트 정수로 선언하시오. C/C++에서는 long long int를 사용하고, Java에서는 long을 사용하시오.

출력

A와 B의 최소공배수를 한 줄에 출력한다.


#include <iostream>
using namespace std;
int gcd(long long int a, long long int b){ // 유클리드 알고리즘
    if(a<b){
        long long int tmp = a;
        a = b; b = tmp;
    }
    long long int r = a%b;
    if(r==0){
        return b;
    }else{
        return gcd(b,r);
    }
}

int main() {
    long long int a,b; cin>>a>>b; // 문제의 조건에 맞게 long long int 사용
    long long int result = gcd(a,b); // 최대공약수를 구함
    long long int ret = result;
    ret *= (a/result);
    ret *= (b/result); // 최대공약수를 구함
    cout<<ret<<endl;
    return 0;
}

 

 

13241번: 최소공배수

정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다

www.acmicpc.net


반성해라!! 연말이라고 놀러다니다가 잔디 쭉 밀렸다 ... !!!! 언제까지 gcd만 풀거냐 !!!

반응형
LIST

'Boj' 카테고리의 다른 글

[Boj] 백준 C++ #2981 검문  (0) 2024.01.10
[Boj] 백준 C++ #1991 트리 순회  (0) 2024.01.05
[Boj] 백준 C++ #3036 링  (1) 2023.12.23
[Boj] 백준 C++ #1735 분수 합  (1) 2023.12.22
[Boj] 백준 C++ #9613 GCD합  (2) 2023.12.22