【C語言】寫一個函數,並調用該函數求兩個整數的最大公約數和最小公倍數


程序分析:

在數學中,兩個數的最小公倍數=兩個數的乘積/兩數的最大公約數。

求兩個數的最大公約數,運用輾轉相除法:已知兩個整數M和N,假定M>N,則求M%N。

如果余數為0,則N即為所求;如果余數不為0,用N除,再求其余數。。。直到余數為0,則除數就是M和N的最大公約數

代碼:

#include<stdio.h>
int gcd(int a, int b)/*求最大公約數*/
{
    int r, t;
    if(a<b)
    {
        t = a;
        a = b;
        b = t;
    }
    r = a % b;
    while(r != 0)/*輾轉相除法*/
    {
        a = b;
        b = r;
        r = a % b;
    }
    return b;
}
int lcm(int a, int b)/*求最小公倍數*/
{
    int r;
    r = gcd(a, b);
    return(a * b / r);
}
int main()
{
    int x, y;
    printf("請輸入兩個整數:\n");
    scanf_s("%d %d", &x, &y);
    printf("兩個整數最大公約數為:%d\n", gcd(x, y));
    printf("兩個數最小公倍數為:%d\n", lcm(x, y));
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM