c++用while语句怎么求两个数的最大公约数和最小公倍数

如题所述

#include<stdio.h>
int main()
{
    int m,n,r,tm,tn;
    scanf("%d %d", &m,&n ); //输入两个数
    tm=m;
    tn=n;
    if(m<n){
        r=m;
        m=n;
        n=r;//交换m,n
       }
    r=m%n;
    while(r){
        m=n;
        n=r;
        r=m%n;
    }
       printf("最大公约数n=%d最小公倍数=%d\n", n, tm*tn/n );
       return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-11
123456789101112131415161718192021#include<stdio.h>int main(){ int m,n,r,tm,tn; scanf("%d %d", &m,&n ); //输入两个数 tm=m; tn=n; if(m<n){ r=m; m=n; n=r;//交换m,n } r=m%n; while(r){ m=n; n=r; r=m%n; } printf("最大公约数n=%d最小公倍数=%d\n", n, tm*tn/n ); return 0;}
相似回答