C 语言经典100例-010

输入两个正整数m和n,求其最大公约数和最小公倍数。

GCD: greatest common divisor

LCM: lowest common multiple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int main()
{
    int m, n, i, x=1, y;
    printf("Please enter two integer: m= ,n= \n");
    scanf("m=%d,n=%d", &m, &n);
    for(i=2; i<((m >= n) ? m : n); i++)
    {
        while((m%i==0) && (n%i==0))
        {
            m /= i;
            n /= i;
            x *= i;
        }
    }
    y = x * m * n;
    printf("The GCD is: x=%d\n", x);
    printf("The LCM is: y=%d\n", y);
    return 0;
}