【发布时间】:2013-04-11 00:33:53
【问题描述】:
我的程序要求用户输入两个数字,然后我必须将这些数字传递给我的函数。我的函数应该“使用欧几里得算法识别两个值的最大公约数 (GCD)。如果该值大于 1 且小于两个数字中的较小者,则返回 true。将引用调用参数设置为GCD 的值。在 main() 中输出 GCD 以及您的函数是否返回 true 或 false。我该怎么做?
int gcd (int a, int b)
{
int c;
if ( b == 0 )
return a;
else
while ( b != 0 )
{
c = b;
b = a % b;
a = c;
}
return a;
}
【问题讨论】:
-
请包含您已经编写的代码,并指出它的哪一部分给您带来了问题。
-
我应该直接复制粘贴还是有什么具体的方法给你看?
-
@user2085305 尽你所能。 :)
-
我正在尽我所能,我所知道的。其余的我必须学习,对吧?到目前为止,这就是我所拥有的,或者我所知道的部分。现在是我开始向你们学习并开始改进的部分。
-
为了让您的代码保持简单,您应该注意,如果您完全删除这三行
if ( b == 0 ) return a; else,您的函数不会改变。如果b == 0,它仍然会返回a。
标签: c++ greatest-common-divisor pass-by-reference call-by-value