number-theory相关内容

用给定数量的因子找到最小数字的算法

任何人都可以想到的最有效的算法是什么除数(包括 1 和 x)?例如,给定 4,算法应该得到 6(除数:1,2,3,6);即 6 是具有 4 个不同因子的最小数字.同样,给定 6,算法应该得到 12(除数:1、2、3、4、6、12);即 12 是具有 6 个不同因子的最小数字 就实际性能而言,我正在寻找一种可扩展的算法,该算法可以在可以执行 107 的机器上在 2 秒内给出大约 1020 的答 ..
发布时间:2022-01-17 09:58:50 其他开发

找到 a^b^c^... mod m

我想计算: abcd... mod m 你知道有什么有效的方法吗,因为这个数字太大了,但是 a , b , c , ... and m 适合一个简单的 32 位整数. 有什么想法吗? 警告:这个问题不同于寻找 ab mod m. 另请注意,abc 与 (ab)c 不同.后者等于abc.求幂是右结合的. 解决方案 答案不包含正确性的完整正式数学证明.我认为这 ..
发布时间:2021-12-17 15:15:39 其他开发

生成素数的并行算法(可能使用 Hadoop 的 map reduce)

生成素数是一个我经常不时尝试的玩具问题,尤其是在尝试新的编程语言、平台或风格时. 我正在考虑尝试使用 Hadoop (Map Reduce) 编写素数生成算法或素数测试算法. 我想我会发布这个问题来获取技巧、参考、算法、方法. 虽然我的主要兴趣是基于 Map Reduce 的算法,但我不介意查看新的 Hadoop 编程模型或例如查看使用 PiCloud 我似乎有一些关于素数 ..
发布时间:2021-12-15 18:27:15 其他开发

Java 中的 Miller-Rabin Primality 测试

我目前正在从事 Project Euler 并认为如果不这样做可能会更有趣(和更好的学习体验)不只是蛮力解决所有问题.在问题 3 上,它要求求一个数的质因数,我的解决方案是对这个数进行因数分解(使用另一种分解算法),然后测试这些因数的素数.我想出了这个用于 Miller-Rabin 素性测试的代码(在彻底研究了素性测试之后),它对于我输入的所有复合奇数都返回 true.有人能帮我找出原因吗?我以为 ..
发布时间:2021-06-21 18:51:49 Java开发

整数分区迭代代码优化

我一直在编写代码来对整数进行迭代分区,并使用以前的结果对数字进行完全分区,其想法是使用以前的分区可以提高速度.到目前为止,我的性能比递归分区整数慢 22 倍,并且由于内存快速耗尽而无法测试更大的数字.如果有人可以帮助优化代码,我将不胜感激. import java.util.ArrayList;导入 java.util.Arrays;导入 java.util.HashMap;导入 java.ut ..
发布时间:2021-06-12 20:55:21 Java开发

对于给定的n和m值,找到fib(n)mod m,其中n非常大.(皮萨诺时期)

输入 整数"n"(最多10 ^ 14)和"m"(最多10 ^ 3) 输出 Fib(n)模m 示例案例 输入:239 1000输出:161输入:2816213588 239输出:151 问题提示 由于不可能重复'n'次(因为n很大),请考虑使用Pisano周期(当每个元素的斐波那契数列除以任何整数时,重复余数) 我编写的代码(可能是错误的,但通过了上述 ..
发布时间:2021-04-02 20:26:18 其他开发

努力在没有字符串的情况下将数字转换为以64为基数的数字

因此,我尝试使用我发现的这个很棒的项目(在没有字符串的Python 3中)。 将36位数字n的6个字符的字符串表示形式返回为base-64数字,反序,其中64个数字的顺序是: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-+ 例如, 编码(0)→'000000' 编码(9876543210)→' ..
发布时间:2020-10-29 06:03:57 Python

在base-64中从字符串转换为数字

因此,我正在尝试编写一个程序来解码6个字符的base-64数字. 这是问题陈述: 返回由6个字符的字符串s反向表示的以64为基数的36位数字,其中64个数字的顺序为:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-+ 即 解码('000000')→0 decode('gR1iC9')→987 ..
发布时间:2020-09-18 19:09:35 Python

[1,1e18]中不能被[2,10]中的任何整数除以的正整数数

我很难解决以下问题: 对于Q查询,Q 的整数数除以[2,10]中的整数。 我想到了使用sieve方法为每个查询过滤[1,1e18]中的数字(类似于eratosthenes的筛子)。但是,N的值可能非常大。因此,我无法使用此方法。我可以做的最有用的观察是,以0、2、4、5、6、8结尾的数字是无效的。但这并不能帮助我解决这个问题。 我看到了类似的问题,它使用较少数量的查询(Q ..
发布时间:2020-06-03 21:45:41 其他开发

查找一组素数大于x的素数的算法

考虑有限集{2,3,5,...,n}。我对素数感兴趣,但这个问题可能适用于任何一组数字。我想找到这些数字升序的所有可能乘积,尤其是大于或等于某个数字x的乘积。有谁知道一个不错的算法吗? 编辑来澄清一下: 输入集中的每个因子都可能可以使用多次。如果输入为{2,3,5,7},则输出为{2,3,4,5,6,7,8,9,10,12,14,15,16,18,...} 。该算法只要产生的结果大于或 ..

该算法的时间复杂度是多少

编写一个使用整数的程序,并打印出所有方法以乘以等于原始数字的较小整数,而无需重复因子集。换句话说,如果您的输出包含4 * 3,则不应再次打印3 * 4,因为这将是重复集。请注意,这并非仅要求素因数分解。同样,您可以假定输入整数的大小是合理的。正确比效率更重要。 PrintFactors(12)12 * 1 6 * 2 4 * 3 3 * 2 * 2 public void printFac ..
发布时间:2020-06-03 21:19:43 其他开发

如何将一个数字表示为4个质数的总和?

这是问题所在(四个素数的总和)指出: 输入的每一行都包含一个整数N(N 样本输入: 24 36 46 示例输出: 3 11 3 7 3 7 13 13 11 11 17 7 我很快就想到了这个主意 查找N以下的所有素数 查找带有整数分区问题(背包)的列表长度(.length = 4) 但是我认为这种算法的复杂度非常差。这个问题也看起来像哥德巴赫的 ..
发布时间:2020-06-03 20:48:10 其他开发

计算1 ^ X + 2 ^ X + ... + N ^ X mod 1000000007

有什么算法可以计算(1 ^ x + 2 ^ x + 3 ^ x + ... + n ^ x)mod 1000000007 吗? 注意: a ^ b 是a的b次方。 约束是 1 。因此,N的值非常大。 如果 O(m log m) code> m = 1000000007 。这很慢,因为时间限制为2秒。 您有任何有效的算法吗? 有一条评论,它可能是此问题的重复项,但这绝对 ..
发布时间:2020-06-03 20:35:29 其他开发

将自然数表示为不同平方的总和

问题是找到正整数的最大集合S,以使S的元素的平方和等于给定数字n。 例如: 4 =2² 20 =4²+2² 38 =5² +3²+2² 300 =11²+8²+7²+6²+4²+3²+2²+1²。 我有一种算法,运行时间为 O(2 ^(sqrt n)* n),但是它太慢了(每个正方形的子集)。 解决方案 有一个基于规范动态的 O(n ^ 1.5)时间算法 ..
发布时间:2020-06-03 20:05:54 其他开发

给定一百万个数字的字符串,返回所有重复的3位数字

几个月前,我在纽约接受了一家对冲基金公司的采访,但不幸的是,我没有得到数据/软件工程师的实习机会。 (他们还要求解决方案使用Python。) 我在第一次面试问题上几乎搞砸了…… 问题:给定一百万个数字的字符串(例如Pi),编写 a函数/程序,该函数/程序返回所有重复的3位数字和 重复的次数大于1 例如:如果字符串为: 123412345123456 ,则函数/程序将返回: ..
发布时间:2020-06-03 20:01:57 Python

寻找完美数字(优化)

作为编程难题的一部分,我用C#编写了一个程序,以在一定范围内找到理想的数字.但是,我意识到,计算超过10000的理想数时,它的运行速度非常慢.是否存在用于查找理想数的优化方法?我的代码如下: using System; using System.Collections.Generic; using System.Linq; namespace ConsoleTest { class Pr ..
发布时间:2020-05-21 21:16:21 C#/.NET