728x90
반응형
최대공약수와 최소공배수 문제는 최대 공약수와 최소공배수의 특성을 이용한 문제입니다. 두 수에 대한 기본 정의를 활용하여 문제를 해결할 수 있습니다. for문을 사용하여 모든 수에 대해 특성을 만족하는지 나누어서 확인하면 됩니다. 최대 공약수는 1부터 작은 수까지, 최대 공배수는 큰 수보다 크다는 점을 이용하면 for문 반복 횟수를 줄일 수 있습니다.
작성한 코드는 다음과 같습니다.
#include<stdio.h>
int A, B;
int GCD;
int temp;
int main(void) {
scanf("%d %d", &A, &B);
if (A > B)
{
temp = A;
A = B;
B = temp;
}
for (int i = 1; i <= A; i++) {
if (A % i == 0 && B % i == 0) {
GCD = i;
}
}
printf("%d\n", GCD);
for (int i = B;; i++) {
if (i % B == 0 && i % A == 0) {
printf("%d\n", i);
break;
}
}
}
문제의 지문은 다음의 링크에서 확인할 수 있습니다.
728x90
반응형
'전공 > Problem Solving' 카테고리의 다른 글
[알고리즘/문제풀이/BOJ 2981번] 검문 (0) | 2021.07.10 |
---|---|
[알고리즘/문제풀이/BOJ 1934번] 최소공배수 (0) | 2021.07.10 |
[알고리즘/문제풀이/BOJ 1037번] 약수 (0) | 2021.07.10 |
[알고리즘/문제풀이/BOJ 5086번] 배수와 약수 (0) | 2021.07.10 |
[알고리즘/문제풀이/BOJ 5430번] AC (0) | 2021.07.09 |