鱼C论坛

 找回密码
 立即注册
查看: 408|回复: 11

请问这两段代码的区别是什么啊!!一个求最大公约数和最小公倍数的问题

[复制链接]
最佳答案
0 
发表于 2018-11-1 16:52:47 | 显示全部楼层 |阅读模式
20鱼币
我i使用的辗转相除法,先求最大公约数,在用两个数的乘积除以最大公约数得到最小公倍数!
这是我开始的做法
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int m, n, r1, temp, mul;
  5.         scanf("%d%d", &m, &n);
  6.         mul = m * n;
  7.         if(m <= n)
  8.         {
  9.                 temp = m;
  10.                 m = n;
  11.                 n = temp;
  12.         }
  13.         do
  14.         {
  15.                 r1 = m % n;
  16.                 m = n;
  17.                 n = r1;
  18.         } while(r1);
  19.         printf("%d %d", m, mul / m);
  20.         return 0;
  21. }
复制代码

这是我更改后的做法,就改了一下乘除顺序
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int m, n, r1, temp, mul;
  5.         scanf("%d%d", &m, &n);
  6.         if(m <= n)
  7.         {
  8.                 temp = m;
  9.                 m = n;
  10.                 n = temp;
  11.         }
  12.         temp = m, mul = n;
  13.         do
  14.         {
  15.                 r1 = m % n;
  16.                 m = n;
  17.                 n = r1;
  18.         } while(r1);
  19.         printf("%d %d", m, temp / m * mul);
  20.         return 0;
  21. }
复制代码
这是我们学校的oj平台,上面的方法不能通过,下面的方法就能通过,不知道什么原因,求解答!!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
956 
发表于 2018-11-1 20:58:52 | 显示全部楼层
2018111_205822.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-11-1 21:08:27 | 显示全部楼层
两边输出的最大公倍数都不一样。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2018-11-2 07:50:15 | 显示全部楼层

在编译器上确实都正常,只是在oj平台上其中一个就无法通过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
3 
发表于 2018-11-4 22:53:29 | 显示全部楼层
楼主你可以测试一下其中一个输入参数为“0”的情况!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 2018-11-5 10:12:27 | 显示全部楼层
路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2018-11-5 14:04:17 | 显示全部楼层
前路 发表于 2018-11-4 22:53
楼主你可以测试一下其中一个输入参数为“0”的情况!

题目保证输入全部为正整数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
3 
发表于 2018-11-5 21:33:20 | 显示全部楼层
Sa。。 发表于 2018-11-5 14:04
题目保证输入全部为正整数

我再去看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 2018-11-6 09:09:45 | 显示全部楼层

好的谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 7 天前 | 显示全部楼层
我试了一下,两个算法都没有问题的。 但这句话有问题scanf("%d%d", &m, &n),中间加个逗号吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 4 天前 | 显示全部楼层
想看看你那不能通过的界面是什么样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
 楼主| 发表于 昨天 08:26 | 显示全部楼层
本帖最后由 Sa。。 于 2018-11-16 08:28 编辑
守望星星 发表于 2018-11-13 15:19
想看看你那不能通过的界面是什么样的


QQ截图20181116082604.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-11-17 12:53

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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