/**
 * 【程序7】
 * 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
 * 程序分析:先求最大公约数,再利用最大公约数求最小公倍数。
 * 
 * 最大公约数:利用辗除法:
 * -->两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。
 * 
 * 最小公倍数:
 * -->两数相乘的积除以这两个数的最大公约数就是最小公倍数。
 * 
 */

#include<stdio.h>

int main()
{
    printf("请输入两个数:");
    int a, b, temp, t, c;
    scanf("%d, %d", &a, &b);
    printf("%d, %d\n", a, b);
    
    if(a<b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    t = a%b;    //a对b求余数
    if(t==0)  //如果余数直接为0,那么被除数b就是最大公约数了
    {
        printf("最大公约数为:%d\n", b);
        printf("最小公倍数为:%d\n", a*b/b);
    }else{     //余数不为0,利用辗除法求最大公约数
        while(t!=0)
        {
            c = t;
            t = b%t;
        }
        printf("最大公约数为:%d\n", c);
        printf("最小公倍数为:%d\n", a*b/c);
    }
    
    return 0;
}