C语言刷题(7):求最大公约数和最小公倍数

最大公约数算法:
if a<b
交换 a ,b
while ((r = a % b)!= 0)
{
a = b;
b = r;
}
return b;
最小公倍数算法:
return a * b / c;

#include <stdio.h>
int Gmd(int a,int b);
int Lmb(int a,int b,int c);
void main()
{
    int a,b;
    printf("input a and b:");
    scanf("%d %d",&a,&b);
    printf("最大公约数:%d",Gmd(a,b));
    printf("最小公倍数:%d",Lmb(a,b,Gmd(a,b)));
}

int Gmd(int a,int b)
{
    int r;
    if(a<b)
    {
        a = a+b;
        b = a- b;
        a = a- b;
    }
    while((r = a%b )!=0)
    {
        a = b;
        b = r;
    }

    return b;
}
int Lmb(int a,int b,int c)
{
    return  a*b/c;
}
发布了45 篇原创文章 · 获赞 7 · 访问量 1621

猜你喜欢

转载自blog.csdn.net/qq_38173631/article/details/103953080
今日推荐