注册 登录
编程论坛 C++教室

这个函数是干嘛的

好聚好散 发布于 2013-04-24 12:38, 862 次点击
int gys(int m,int n)
{  int r;
   if(m<n)  {   r=m;   m=n;     n=r;   }
   while(r=m%n)   {   m=n;   n=r;   }
    return n;
}


解释下那个while吧
12 回复
#2
zhuxiaoneng2013-04-24 12:41
这个是求最大公约的
百度:辗转相除法
#3
peach54602013-04-24 14:54
以下是引用zhuxiaoneng在2013-4-24 12:41:33的发言:

这个是求最大公约的
百度:辗转相除法

正解
#4
qunxingw2013-04-24 16:19
任何while的原理都一样,试着多理解
#5
peach54602013-04-24 16:53
回复 4楼 qunxingw
好冷
#6
好聚好散2013-04-24 18:40
while(r=m%n)   {   m=n;   n=r;   }
    return n;
解释下嘛
#7
邓士林2013-04-24 19:14
这个是著名的辗转相除求最大公约数
#8
peach54602013-04-24 19:14
以下是引用好聚好散在2013-4-24 18:40:02的发言:

while(r=m%n)   {   m=n;   n=r;   }
    return n;
解释下嘛

我在2楼不是说了1楼是对的吗?
你没看到?

还是说你不知道while是个循环语句?
#9
子楠2013-04-24 23:09
当r不为0执行,while(r=m%n)
#10
好聚好散2013-04-26 12:28
haoba
#11
邓士林2013-04-26 13:46
while(r=m%n)  这个是辗转相除的循环判断条件
#12
小王子的花2013-04-26 14:27
去图书馆看看C语言的书就知道了,这是基本语句
#13
风雨1232013-04-26 19:30
最大公约数   数学辗转相除法
1