zoukankan      html  css  js  c++  java
  • 【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("请输入两个整数:
    ");
        scanf_s("%d %d", &x, &y);
        printf("两个整数最大公约数为:%d
    ", gcd(x, y));
        printf("两个数最小公倍数为:%d
    ", lcm(x, y));
        return 0;
    }
  • 相关阅读:
    数与bit
    ARM汇编优化1
    一 *(a+1)与*(&a+1)
    二 *(a+1)多维数组
    三 二维数组取址
    四 sizeof(a)
    永恒之蓝及WannaCry分析
    github使用记录
    三种页面置换算法的C++模拟
    opencv检测图像直线
  • 原文地址:https://www.cnblogs.com/HGNET/p/11995025.html
Copyright © 2011-2022 走看看