鱼C论坛

 找回密码
 立即注册
查看: 2616|回复: 0

[技术交流] C语言:求两个数的最小公倍数和最大公约数

[复制链接]
发表于 2021-6-28 10:09:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 划句顾 于 2021-6-28 10:09 编辑

用辗转相除法求两个数的最大公约数:
1.png

代码如下:
#include<stdio.h>
int main()
{
        int m,n,u,v,k,r;
        printf("请分别输入u,v:"); //u>0,v>0
        scanf("%d %d",&u,&v);
        m= u;
        n=v;
        while(v!=0)
        {
                r = u % v;
                u = v;
                v = r;
        }
        k = (m*n)/u;
        printf("最大公约数为:%d\n",u);
        printf("最小公倍数为:%d\n",k);
        return 0;
}
运行结果:
1624846057(1).png


                               
登录/注册后可看大图

无论怎么u和v哪个大,输出结果都一样
#include<stdio.h>
int main()
{
        int m,n,u,v,k,r,i=0;
        while(i<2)
        {        
                printf("请分别输入u,v:"); //u>0,v>0
                    scanf("%d %d",&u,&v);
                i++;
                 m= u;
                n=v;
                 while(v!=0)
                 {
                        r = u % v;
                        u = v;
                        v = r;
                 }
                k = (m*n)/u;
                printf("最大公约数为:%d\n",u);
                printf("最小公倍数为:%d\n",k);
        }
        return 0;
}
运行结果:
1624845865(1).png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-20 21:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表