반응형
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int gcd(int a, int b)
{
int num = 1, min, gcd = 1;
min = a < b ? a : b;
while (num <= min)
{
if (a % num == 0 && b % num == 0)
gcd = num;
num += 1;
}
return gcd;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n%d\n", gcd(a, b), (a * b) / gcd(a, b));
}
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[ C / C++ ] 백준 2688 줄어들지 않아 (0) | 2022.03.17 |
---|---|
[ C / C++ ] 백준 2630 색종이 만들기 (0) | 2022.03.16 |
[ C / C++ ] 백준 2577 숫자의 개수 (0) | 2022.03.14 |
[ C / C++ ] 백준 2562 최댓값 (0) | 2022.03.13 |
[ C / C++ ] 백준 2557 Hello World (0) | 2022.03.12 |