:: ADVANCE ::

[dovelet][For] gcd_lcm 본문

Algorithm/math

[dovelet][For] gcd_lcm

KSJ14 2015. 1. 18. 04:14
반응형

dovelet    3 단계 For


최대공약수, 최소공배수 / gcd_lcm


http://59.23.113.171/30stair/gcd_lcm/gcd_lcm.php?pname=gcd_lcm


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
37
38
39
40
41
#include <stdio.h>
 
int gcd(int n, int m)
{
    int temp;
 
    while (n != m)    {
 
        if (n > m)    {
            temp = n;
            n = m;
            m = temp;
        }
 
        temp = n;
        n = m - n;
        m = temp;
    }
    return n;
}
 
int lcm(int n, int m)
{
    int i = 1, temp = n;
 
    while (temp % m != 0)    {
        temp = n * i++;
    }
    return temp;
}
 
int main(void)
{
    int n, m;
 
    scanf("%d%d", &n, &m);
 
    printf("%d %d\n", gcd(n, m), lcm(n, m));
 
    return 0;
}
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int gcd(int first, int second)
{
    if(!second)    return first;
    gcd(second, first % second);
}
 
int main()
{
    int n, m;
 
    scanf("%d %d", &n, &m);
 
    printf("%d %d\n", gcd(n, m), n * m / gcd(n, m));
 
    return 0;
}
cs


반응형
Comments