问题标签 [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.

0 投票
2 回答
1180 浏览

mips - 启动无限循环的 GCD mips 程序

我相信我的堆栈有问题。我一步一步地运行了几次,每次到达本节时,它都会正常工作,直到找到不等于零的数字的分支继续“重复”,但它只会跳回“GCD”而没有任何变化在堆栈或参数中,从而启动无限循环。我尝试在重复的第一个“jal GCD”前面放一个“#”,但程序会在达到“lw $a2, 8($s1)”后停止并给我一个例外。我该怎么做才能让商替换参数 2 并且可以继续搜索 GCD?

0 投票
3 回答
312 浏览

python - 2^i-1 形式的数字的 GCD

如何获得 GCD(2^a[i]-1,2^a[j]-1) 与 1<=a[x]<=100

导致大量的麻烦并给出运行时错误。
我看不到 2^i-1 值中的模式,除了素数除了 1 和它们本身之外没有其他因素。

编辑:仅需要为 2^i-1 形式的数字解决此问题。以下是代码:

输入样本:

约束:

0 投票
3 回答
115 浏览

c++ - 找出数组中有多少个不同的浮点值

为了解决问题中的一部分,其中给定n对整数xy,我需要找出有多少不同的x/y。(精确值,带小数)

1.

当然,我可以遍历所有之前的对,看看之前是否出现了相同的x/y值,但我相信这需要(n^2)/2次。

我尝试使用哈希表,它似乎不能很好地处理浮点值。也许它会与一个非常好的散列函数一起工作。

2.

考虑到xy是整数,我尝试了一种不同的方法来解决这个问题:

  • 计算每对的最大公约数
  • 将xy与 GCD相除
  • 使用矩阵 m[max_value_of_x][max_value_of_y] 并执行以下操作:

    /li>
  • 对所有对执行此操作后,cnt应该是不同浮点值的数量。

我认为,尽管这可以在相当长的时间内运行;它绝对不节省空间。实际上,在问题中, xy的最大值为1000,但分配的内存非常低。

0 投票
1 回答
206 浏览

c++ - 尝试将 C 代码转换为 C++ - 交互式二进制欧几里得算法

我试图将一些代码从 C 转换为 C++,请你们让我知道我哪里出错并给我一些指示吗?谢谢

出于某种原因,每次有人问这样一个琐碎的问题时,他们都会被告知“做你自己的作业”等,所以我只想指出这不是作业,因为它的价值。再次感谢

0 投票
1 回答
337 浏览

c - 使用 C 查找多个用户输入值的 gcd

我正在使用“C 编程现代方法第 2 版”来学习 C。我必须创建一个从用户那里接收两个数字并返回 gcd 的函数的练习之一,我希望能够传入多个数字,但我不知道如何使用 C 来实现这一点。

0 投票
4 回答
15294 浏览

c - 找到两个数字的 GCD 的最快方法是什么?

我有一个大小为 n 的数组。我需要找到具有给定数字的每个元素的 GCD,如果它大于 1,则将其添加到另一个数组中。最快的方法是什么?

0 投票
1 回答
3060 浏览

greatest-common-divisor - 不使用 GCD 方法查找互质数

是否可以在不使用任何标准 GCD 算法的情况下知道两个给定数字是否互质?我使用了欧几里得、二进制 GCD 和 Lehmer 算法。如果可能的话,建议一种比这些更快的方法。这两个数字可以大到 10^5,因此生成法雷数列也没有用。

0 投票
8 回答
21414 浏览

prolog - 在 Prolog 中查找 Gcd 的程序

我试图在 Prolog 中编写一个代码来查找 GCD(不使用模数)谁能告诉我这个程序有什么问题?

0 投票
0 回答
588 浏览

java - 从 java 到 Python 的康托尔函数

我用java写了一个cantor函数,我试图把它翻译成Python。谁能给我一些指示?我应该将分数分别作为一个变量进行比较,还是将顶部和底部视为单独​​的变量?

爪哇:

Python:

0 投票
2 回答
14902 浏览

java - 使用递归和实现欧几里得算法从用户中找到三个数字的 GCD

我想要求用户输入三个数字,然后让程序在使用递归的同时使用欧几里得算法计算 GCD。

我的代码现在实现了两个输入数字。我了解计算a和b的GCD的方法,并将其称为结果d。然后使用第三个输入 (c) 和 d 找到 GCD 并基本上再次重复欧几里得算法;我不确定如何在代码中实现这一点。

真正让我失望的部分是使用递归来解决我的问题。

到目前为止,我知道我需要实现:

任何帮助或建议将不胜感激!