程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 求兩個正整數m,n的最大公約數和最小公倍數

求兩個正整數m,n的最大公約數和最小公倍數

編輯:關於C語言

 求兩個正整數m,n的最大公約數和最小公倍數代碼:
    #include <stdio.h>
    void main()
    {
    int m,n,gcd,lcm;  /gcd為最大公約數,lcm為最小公倍數/
    int max,min,swap; /max為m,n中較大值,min為m,n中較小值/
    printf("輸入兩個正整數m和n ");
    scanf("%d %d",&m,&n);
    max=m>n?m:n; /返回m,n中較大值給max/
    min=m<n?m:n; /返回m,n中較小值給min/
    swap=min; /較大值不能整除較小值時用得到/
    if(max%min==0)
    {
    gcd=min;
    printf("最大公約數gcd=%d",gcd);
    }
    while(swap!=0)
    {
    swap=swap-1; /往較小值下面找/
    if(max%swap==0 && min%swap==0)
    {
    gcd=swap;
    printf("最大公約數gcd=%d",gcd);
    break; /找到停止循環/
    }
    }
    lcm=m*n/gcd;
    printf("最小公倍數lcm=%d",lcm);
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved