问题标签 [greatest-common-divisor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 无法理解“def gcd()”的代码
更新:一旦我不知道3 %4 =0
...
我认为它是这样工作的:
c - 用于任意精度算术的 GCD 算法
我完全被这个问题所困扰,所以我正在寻求任何帮助。
我想每个人都知道基本的 GCD 计算算法,比如二进制或欧几里得 GCD。实现这样的方法来计算两个单精度数是没有问题的。实际上,这只是大约几笔。
我需要为多精度数字(超过 10^5 位)实现此方法(用 C 语言)。有几个可用的 GNU 库(GNU MP、MPFR、MPIR),它们可以定义多精度数字并对它们进行操作。它看起来像一个多精度数字存储在内存中,作为一对单精度部分,也就是“肢体”。
实现了一些方法来查找 gcd(a, b),但实际上它们很难满足我的需要。仅当 a 和 b 正好包含两个肢体时才使用 GCD 计算的二进制方法。当 min(a,b) 包含多于(即 630 个)肢体等时使用的 HGCD 方法。我发现很难弄清楚,如何扩展这些方法中的任何一个以用于任何长度的 a 和 b。我还发现不同版本的 GNU 库包含不同版本和方法的 GCD 算法。
问题:我想知道是否有可能使二进制 GCD 算法与“肢体”方面的任何长度的多精度整数一起工作,如果可能的话 - 获得任何帮助或想法如何在 C 中实现它。有没有人有任何想法或代码部分如何实现它?
我想考虑任何建议或任何其他解决方案来解决该问题。
如果有人愿意看一下,这是(a = b = 2 个肢体)的 GNU MP 二进制 GCD 方法的一部分:
java - 方法必须返回 int
我正在编写一个使用 GCD(a, b) = GCD(b, r) r = a%b 的欧几里得算法的程序。我写了一个方法,它应该返回一个整数以便主方法吐出,但是当我要求它这样做时,它说它没有返回一个整数。这是代码
c++ - 使用头文件编译 C++ 程序(新手)
我正在从 Edward Schneinerman 为数学家编写的 C++ 中学习 C++。我正在研究第 2 章中的最大公约数部分。我制作了三个文件:
gcd.h
gcd.cc
和 gcdtest.cc
所有这些文件都位于同一目录中。当我尝试编译 gcdtest.cc
我收到以下错误:
我是 C++ 的新手,还没有完全理解编译和链接。我究竟做错了什么?
python - numpy gcd 函数
在其模块结构的某处numpy
有功能吗?gcd
我知道fractions.gcd
但认为numpy
等效的可能更快,并且可以更好地处理numpy
数据类型。
除了这个似乎过时的链接之外,我无法在谷歌上发现任何东西,我不知道如何访问_gcd
它建议存在的功能。
天真地尝试:
对我没用...
java - BigIntegers, gcd , 模数逆找到公钥
因此,我使用 java 来查找 RSA 密码的公钥。现在我不确定我在做什么,也不确定它是否正确。
我有公钥的这些信息。
使事情复杂化的是 BigIntegers,对于 int 和 longs 来说,数字非常大,所以我必须使用笨拙的 BigIntegers。据我了解,我有以下等式要解决。
我正在尝试使用 euklidske 算法来解决它。在Java中,我认为我可以使用以下方法:
我将代码基于 phi(n) = 8271117252 和 d = 53。然后我在 for 循环中使用 gcd,尝试将 for 循环中的 i 数转换为 phi(n) 上的 gdc。如果结果为 1,我将 e 设置为 i 的迭代次数。然后我在 e 和 phi(n) 上使用模数反函数。当且仅当它等于 phi(n) 我得到了答案。(我认为,它可能是错误的)。
无论如何,这是代码。一般来说,任何输入都会很棒,因为它让我有点发疯。
c++ - Identify the greatest common divisor (GCD) of the two values using Euclid's Algorithm
My program asks a user for two numbers, and then I have to pass those numbers to my function. My function is supposed to "Identify the greatest common divisor (GCD) of the two values using Euclid's Algorithm. Return true if this value is greater than 1 and less than the smaller of the two numbers. Set the call-by-reference parameter to the value of the GCD. In main() output the GCD and whether or not your function returned true or false." How do I do this?
algorithm - 寻找 GCD 的蛮力和欧几里得算法之间的区别
为什么用于查找 GCD 的连续整数检查算法被认为是蛮力,而欧几里德算法却不是?我只是对此感到困惑。是不是因为我们在逐一检查?
php - 公分2数之和
我想求两个数之间的公分之和,下面是我的代码,输出是 maghsom moshtarak is=24612 但目标只有 12;请帮我,
python - 具有多个数字的欧几里得算法(GCD)?
所以我正在用 Python 编写一个程序来获取任意数量的数字的 GCD。
该函数采用数字列表。这应该打印 2。但是,我不明白如何递归地使用该算法,以便它可以处理多个数字。有人可以解释吗?
更新了,还是不行:
好的,解决了
然后使用reduce,比如