weixin_45920042 2020-11-02 21:57 采纳率: 0%
浏览 273
已采纳

给给定的两组数据,每组是两个整数,求这两组数最大公约数之和和最小公倍数之和

#include
int maxgys(int x, int y);
int mingbs(int x, int y);

int main()
{
int num1,num2,num3,num4;
int a,b,c,d;
int t;

scanf("%d%d%d%d", &num1,&num2,&num3,&num4);

if(num1<num2)
{
    t=num2;
    num2=num1;
    num1=t;

}
if(num3<num4)
{
    t=num4;
    num4=num3;
    num3=t;

}

a=maxgys(num1,num2);
b=maxgys(num3,num4);

c=mingbs(num1,num2);
d=mingbs(num3,num4); 


printf("%d\n%d\n",a+b,c+d);

return 0;

}

int maxgys (int x, int y)
{
int r;
while(y!=0)
{
r=x%y;
x=y;
y=r;

}
return x;

}

int mingbs(int x,int y)
{

int i;
int z,w;

for(i=1;i<=x;i++)
{
    z=x*i;
    for(i=1;i<y;i++)
    {
        w=y*i; 

        if(z==w)
        {
            goto L1;
        }

    }

}
L1: ;
return z;

}
最大公约数出来了,最小公倍数没出来,各位大佬可不可以教下小白,哪里有问题,跪谢大佬

  • 写回答

1条回答 默认 最新

  • B1acktion 2020-11-02 22:25
    关注

    最小公倍数可以直接用公式算,设gcd(a,b)为a和b的最大公约数,lcm(a,b)为 a 和 b 的最小公倍数,那么就有 lcm(a,b) = a * b / gcd(a,b)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题