B2609

개요

백준 문제 2609번을 풀면서 어려웠던 점과 코드를 정리한다.
소요 시간 : ???
https://www.acmicpc.net/problem/2609

문제

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

코드

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
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;

void LCM(int num1,int num2,int gcd)
{
cout << ((num1 * num2) / gcd) << "\n";
}

void GCD(int num1,int num2)
{
int tmpNum1 = num1;
int tmpNum2 = num2;
while(tmpNum2 != 0)
{
int r = tmpNum1 % tmpNum2;
tmpNum1 = tmpNum2;
tmpNum2 = r;
}
cout << tmpNum1 << endl;
LCM(num1,num2,tmpNum1);
}


void solve()
{
int num1,num2;
cin >> num1 >> num2;
GCD(num1,num2);


}

int main()
{
solve();

}

소감 및 메모

예전에 배웠던 알고리즘인데 기억이 안남,,ㅋ
최소공배수는 a * b / gcd인 점
최대공약수는 그..네..외우죠,,ㅋ 유클리드 호제법입니다..!

Author

Praisebak

Posted on

2021-03-23

Updated on

2021-03-22

Licensed under

Comments