首页 > 其他 > 详细

求两个不同正整数的最大公约数和最小公倍数

时间:2020-07-27 16:14:48      阅读:80      评论:0      收藏:0      [点我收藏+]
/*
求两个不同正整数的最大公约数和最小公倍数 
*/
#include <stdio.h>
int max_gys(int m,int n);
int min_gbs(int m,int n); 
int main(){
    int m,n;
    int gys,gbs;
    printf("请输入2个不同的正整数:"); 
    scanf("%d,%d",&m,&n);
    gys=max_gys(m,n);
    gbs=min_gbs(m,n);
    printf("%d和%d的最大公约数是%d,最小公倍数是%d\n",m,n,gys,gbs); 
    return 0;
}
int max_gys(int m,int n){
    int t,r;
    if(m<n){//让m>n 
        t=m;
        m=n;
        n=t;
    }
    /*最大公约数可以通过辗转相除的方式实现*/
    do{
        r=m%n; 
        m=n;
        n=r;
    }while(r!=0);
    return m;
}
int min_gbs(int m,int n){
    int i;
    i=m*n/max_gys(m,n);
    return i;//最小公倍数的方法可以通过让m*n除以m和n的最大公约数实现 
} 

 

求两个不同正整数的最大公约数和最小公倍数

原文:https://www.cnblogs.com/byczyz/p/13384891.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!