본문 바로가기

C/함수와 변수

C언어 - 입력 받은 정수들의 최소공배수 출력하기

두 양의 정수 a, b의 최소공배수를 계산하여 반환하는 함수 int LCM(int a, int b)를 작성하고,

이를 이용하여 0이 입력될 때까지 둘 이상의 임의의 개수의 양의 정수를 입력받아 그 수들의 최소공배수를 출력하는 프로그램을 작성하시오.

(Ex. 128 48 1024 0 -> 3072)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int LCM(int a, int b) {
    int i;
    for (i = a; ; i++) {
        if (i % a == 0 && i % b == 0break;
    }
    return i;
}
 
int main(void) {
    int a;
    int b = 1;
 
    while (1) {
        scanf("%d"&a);
        if (a == 0break;
        b = LCM(a, b);
    }
    printf("%d", b);
 
    return 0;
}
cs