| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 948 人关注过本帖
标题:请问一下最大公约数的那个求法是怎么推导出来的
只看楼主 加入收藏
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
 问题点数:0 回复次数:4 
请问一下最大公约数的那个求法是怎么推导出来的
想了半天,但是数学功底太菜,一直没思路。忘各路大虾解释一下
就是辗转相除的那里没看懂是什么道理,这样一直求余怎么就能得到最大公约数呢?
int mcd(int a, int b)
{
if( a <= 0 || b <= 0 )
return -1;
int max,min;
max = a > b ? a : b;
min = a + b - max;
int temp;
//辗转相除
while( min )
{ temp = min;
min = max % min;
max = temp;
}
return max; }
搜索更多相关主题的帖子: 最大公约数 min int 数学 max 
2007-09-15 22:26
ACKing
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-9-4
收藏
得分:0 
去看一下欧几里德算法的证明。。。。
2007-09-15 22:28
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
收藏
得分:0 
进行中,仍然希望得解

2007-09-15 22:34
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 

你写的过于复杂了
int get_comm_div(int m,int n)
{
int tmp;
while(m%n)
{
tmp=m%n;
m=n;
n=tmp;
}
return tmp;
}

[此贴子已经被作者于2007-9-17 18:47:22编辑过]


只有想不到,没有做不到
2007-09-17 18:46
zhu471712418
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-9-18
收藏
得分:0 
这个程序 非常好 思路非常清晰 把所有的情况都考虑到了
不懂你写出来了怎么不懂
2007-09-19 12:52
快速回复:请问一下最大公约数的那个求法是怎么推导出来的
数据加载中...
 
   



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

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