N

(백준 c++)2609 최대 공약수와 최소 공배수 본문

백준 알고리즘

(백준 c++)2609 최대 공약수와 최소 공배수

naeunchan 2021. 3. 17. 11:35
728x90
반응형

문제

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.

출력

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

 

 

eunchanee.tistory.com/29

 

(프로그래머스 c++)최대 공약수와 최소 공배수

int형 변수 n과 m의 최대 공약수와 최소 공배수를 각각 answer에 넣어주면 된다..! 최대 공약수를 구하는 gcd() 함수와 최소 공배수를 구하는 lcm() 함수를 정의하여 사용한다. 이때, lcm() 함수에서는 gcd

eunchanee.tistory.com

프로그래머스 문제와 동일하다.

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int gcd(int a, int b){
    int c;

    while(b != 0){
        c = a % b;
        a = b;
        b = c;
    }

    return a;
}

int lcm(int a, int b){
    return a * b / gcd(a, b);
}

int main(void){
    int a, b;
    int ans1 = 0, ans2 = 0;

    cin >> a >> b;

	ans1 = gcd(a, b);
	ans2 = lcm(a, b);
	
    cout << ans1 << "\n" << ans2;

    return 0;
}
728x90
반응형

'백준 알고리즘' 카테고리의 다른 글

(백준 c++)10773 제로  (0) 2021.03.18
(백준 c++)10828 스택  (0) 2021.03.18
(백준 c++)1037 약수  (0) 2021.03.17
(백준 c++)5086 배수와 약수  (0) 2021.03.17
(백준 c++)2206 벽 부수고 이동하기  (0) 2021.03.11