c c++ 언어 공부

백준 1850번 : 최대공약수 C언어

Code C 2023. 3. 6. 21:01

https://www.acmicpc.net/problem/1850 : 백준 문제 링크

 

Code :

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
#include <stdio.h>
 
long long rdt(long long a, long long b)
{
    long long A, B;
    if (a > b)
    {
        A = a;
        B = b;
    }
    else
    {
        A = b;
        B = a;
    }
    if (B==0)
    {
        return A;
    }
    else
    {
        rdt(B, A % B);
    }
}
 
int main()
{
    long long a, b;
    scanf("%lld %lld"&a, &b);
    int i = 0;
    long long result=rdt(a, b);
    for (i = 0; i < result; i++)
    {
        printf("1");
    }
}
cs

유클리드 호제법을 알고있으면 어려움 없는 문제. 주어진 입력의 최대공약수를 구해 그 개수 만큼 1을 출력해준다.