C语言 | 求两个数的最大公因数和最大公倍数

最大公因数采取“倒叙”的思路;最大公倍数采取“正叙”的思路。

#include <stdio.h>

void main()
{
    int w,x,y,z,i,j;
    int min(x,y);
    int max(x,y);
    scanf("%d%d",&x,&y);
    if (x <= 0 || y <= 0)
    {
        printf("请重新输入: \n");
        scanf("%d%d",&x,&y);
    }
    
    //求最大公因数
    z = min(x,y);
    for (i=z;;i--)
    {
        if ((x%i==0) && (y%i==0))
        {
            printf("%d和%d的最大公因数为: %d\n",x,y,i);
            break;
        }
    }

    //求最小公倍数
    w = max(x,y);
    for (j=w;;j++)
    {
        if ((j%x==0) && (j%y==0))
        {
            printf("%d和%d的最小公倍数为: %d\n",x,y,j);
            break;
        }
    }

}

int min(int x, int y)
{
    int z;
    if (x<y)
    {
        z = x;
    }
    else
    {
        z = y;
    }
    return (z);
}


int max(int x, int y)
{
    int z;
    if (x<y)
    {
        z = y;
    }
    else
    {
        z = x;
    }
    return (z);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容