728x90
728x170
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력
24 18 |
예제 출력
6 72 |
힌트
출처
Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2004 > 중등부 1번
Olympiad > 한국정보올림피아드시․도지역본선 > 지역본선 2004 > 고등부 1번
코드
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 | #include <iostream> using namespace std; // GCD : 최대공약수 int gcd(int m, int n) { if (m == 0) return n; else return gcd(n % m, m); } // LCM : 최소공배수 int lcm(int m, int n) { return (m * n) / gcd(m, n); } int main() { int m, n; cin >> m >> n; cout << gcd(m, n) << endl; cout << lcm(m, n) << endl; return 0; } | cs |
728x90
그리드형(광고전용)
'Problem Solving > BaekJoon Online Judge' 카테고리의 다른 글
[BOJ2562][C++] 최대값 (0) | 2017.11.15 |
---|---|
[BOJ9012][C++] 괄호 (0) | 2017.11.15 |
[BOJ10828][C++] 스택 (0) | 2017.11.15 |
[BOJ2743][C++] 단어 길이 재기 (0) | 2017.11.14 |
[BOJ4606][C++] The Seven Percent Solution (0) | 2017.11.12 |
[BOJ11728][C++] 배열 합치기 (0) | 2017.11.12 |
[BOJ7600][C++] 문자가 몇갤까 (0) | 2017.11.12 |
[BOJ2523][C++] 별찍기 - 13 (0) | 2017.11.12 |