比较来自世界各地的卖家的域名和 IT 服务价格

C++ 计算最大的普通分频器的计划

我推出了这个程序来计算最大的公共分频器。 这是我到目前为止的目标:


#include <iostream>
#include <math.h>
using namespace std;
int getGCD/int a, int b/
{
a = a % b;
if /a == 0/
{
return b;
b = b % a;
}
if /b == 0/
{
return a;
}
}
int main//

{
int x, y;
cout &lt;&lt; "Please enter two integers x and y, for GCD calculation" &lt;&lt; endl;
cin &gt;&gt; x &gt;&gt; y;
cout &lt;&lt; "The GCD of " &lt;&lt; x &lt;&lt; "and " &lt;&lt; y &lt;&lt; " is" &lt;&lt; getGCD/x, y/ &lt;&lt; endl;
return 0;
}


我总是得到 0 为了 GCD. 我究竟做错了什么?
</math.h></iostream>
已邀请:

莫问

赞同来自:

int getGCD/int a, int b/ {


//here 我们需要检查是否回报是否 b == 0 a


if /b == 0/ {
return a;
}
return gcd/b, a % b/;
}


欧几里德算法的实施

知食

赞同来自:

您必须循环以查找它,如果您提供某些方程式,则可以帮助您的算法应该如何工作。

但我看到你有两个问题,除非你在另一个周期内称之为。

你在这两种情况下返回,或者如果,或其他,所以你只去这里一次。

此外,这部分没有意义,为什么改变价值
b

执行后
return

?


return b;

b = b%a;


顺便说一下,为此,您应该使用递归。

http://rosettacode.org/wiki/Gr ... rithm

要回复问题请先登录注册