weixin_47608930 2020-06-10 17:15 采纳率: 100%
浏览 706
已结题

输入2个整数,然后生成最大公约数和最小公倍数的函数void gcd(int x,int y,int*lcm,int*p gcd)。最大公约数用欧几里得的方法计算。

void gcd( int x, int y, int* p_lcm ,int* p_gcd)
最大公约数用欧几里得的方法计算。
欧几里德的方法是用一个大数反复除以小数的方法!

  • 最小公倍数计算如下:=> lcm=(x*y))gcd 图片说明

输入两个数:24 36
最小公约数(lcm):72
最大公约数(gcd):12
.。。。。。。

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-06-10 17:19
    关注

    所谓“欧几里得的方法”,其实我国汉朝也有,记载在九章算术里,叫做“碾转相除法”。

    #include <stdio.h>
    void gcd(int x,int y,int*plcm,int*pgcd)
    {
        int x1=x;
        int y1=y;
        while (*pgcd = x % y){
            x = y;
            y = *pgcd;
        }
        *pgcd = y;
        *plcm = x1 * y1 / *pgcd;
    }
    int main()
    {
        printf("输入两个数:");
        int x, y;
        scanf("%d%d", &x, &y);
        int l, g;
        gcd(x,y,&l,&g);
        printf("最小公倍数(lcm):%d\n最大公约数(gcd):%d", l, g);
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么