| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2333 人关注过本帖
标题:[讨论]用辗转相除法用比较交换两个数的大小吗
取消只看楼主 加入收藏
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:1 
[讨论]用辗转相除法用比较交换两个数的大小吗

使用辗转相除法都求最大公约数时总是把两个数中较大的放在前边和另一个数求余,但由于有一次粗心,并没有比较交换两个数的值,把较小的数放在前面求余,发现也在正确的求出结果,使用辗转相除法一定要比较交换两个数的大小吗
int gongyue(int x,int y)
{int temp;
while(y!=0)
{temp=x%y;
x=y;
y=temp;
}
return(x);
}
main()
{int x,y;
scanf("%d%d",&x,&y);
printf("gongyue is %d\n",gongyue(x,y));
}


搜索更多相关主题的帖子: 除法 辗转 
2007-06-07 10:42
wh2000292
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-3-19
收藏
得分:0 
回复:(wh2000292)[讨论]用辗转相除法用比较交换两个...

举两个数试试就明白了,比方说15和24
对如下程序
while(temp=a%b)
{a=b;
b=temp;
}
另a=15,b=24
则temp=15%24=15
a=b=24;b=temp=15;
结果和24%15是一样的,由此可见完全没有事前比较两个数的大小,刻意把大的数安排在前的意义


2007-06-07 20:48
快速回复:[讨论]用辗转相除法用比较交换两个数的大小吗
数据加载中...
 
   



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

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