标题:求解此程序运行应该是不正确的,为什么运行结果是正确的。(求最大公约数, ...
只看楼主
月殇
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-9-28
 问题点数:0 回复次数:5 
求解此程序运行应该是不正确的,为什么运行结果是正确的。(求最大公约数,如果是 20 与 12 就应该不正确,为什么会输出是个 4 呢?)
#include<stdio.h>
void main()
{
int m,n;
scanf("%d %d",&m,&n);
while(m!=n)
if(m>n) m=m-n;
else n=n-m;
printf("%d\n",m);
}
搜索更多相关主题的帖子: 公约数 
2014-11-07 23:20
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
正确呀,就是辗转相减法是吧
2014-11-07 23:36
月殇
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-9-28
得分:0 
回复 2 楼 soulmate1023
可是当你输入12与4时按照程序运行
while(m!=n)
if(m>n) m=m-n;
else n=n-m;
printf("%d\n",m);

结果应该为8啊!
2014-11-09 00:01
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
回复 3 楼 月殇
他两的最大公约数不应该是4吗?
2014-11-09 00:04
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 3 楼 月殇
学点编程还是需要数学基础的

总有那身价贱的人给作业贴回复完整的代码
2014-11-09 08:25
zhuyi8120
Rank: 2
等 级:论坛游民
帖 子:34
专家分:12
注 册:2014-11-4
得分:0 
笑笑。这应该是由程序来教回你数学了。
2014-11-11 21:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438271-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.409598 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved