zoukankan      html  css  js  c++  java
  • 求两个不同正整数的最大公约数和最小公倍数

    /*
    求两个不同正整数的最大公约数和最小公倍数 
    */
    #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
    ",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的最大公约数实现 
    } 

     收录于文章《885程序设计考点狂背总目录中

    一纸高中万里风,寒窗读破华堂空。 莫道长安花看尽,由来枝叶几相同?
  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/byczyz/p/13384891.html
Copyright © 2011-2022 走看看