factorization相关内容
对于图书馆,我需要存储第一个质数数,直到限制 L.这个集合必须有一个 O(1) 查找时间(检查一个数字是否是质数)并且它必须很容易,给定一个数,找到下一个质数(假设它小于 L). 鉴于 L 是固定的,用 Eratostene 筛法生成列表就可以了.现在,我使用打包的布尔数组来存储列表,该列表仅包含 3 到 L(含)之间的奇数条目.这需要 (L-2)/2 位内存.我希望能够在不使用更多内存的情
..
根据这个帖子,我们可以通过以下代码得到一个数的所有约数. for (int i = 1; i 例如24的除数是1 2 3 4 6 8 12 24. 搜索了一些相关的帖子,没有找到好的解决办法.有什么有效的方法可以做到这一点吗? 我的解决方案: 通过这个解决方案. 获取这些质因数的所有可能组合. 然而,这似乎不是一个好方法. 解决方案 因素是成对的.1 and
..
我编写了一个程序来尝试寻找友好对.这需要找到数字的真因数之和. 这是我当前的 sumOfDivisors() 方法: int sumOfDivisors(int n){整数总和 = 1;int bound = (int) sqrt(n);for(int i = 2; i 所以我需要进行大量分解,这开始成为我应用程序中的真正瓶颈.我在 MAPLE 中输入了一个巨大的数字,它的分解速度非常
..
有人可以向我解释在 Python (2.7) 中找到一个数字的所有因数的有效方法吗? 我可以创建一个算法来做到这一点,但我认为它的编码很差,并且需要很长时间才能产生大量的结果. 解决方案 from functools import reduce定义因素(n):返回集(减少(列表.__添加__,([i, n//i] for i in range(1, int(n**0.5) + 1)
..
自从在我的脑中分解出一个二次方程式以来,这种事情就发生了,而且自从我学会了它以来就做到了-我将如何着手用Python编写二次分解器? 解决方案 改善Keiths的答案: 以多项式开始 P(x)= a * x ^ 2 + b * x + c .使用二次方程式(或您选择的另一种方法)来找到根 r1 和 r2 到 P(x)= 0 的根. 您现在可以将P(x)分解为 a *(x-r1)
..
我最近在open.kattis.com中遇到了算法问题.该问题的链接为 https://open.kattis.com/problems/listgame2 .基本上,这是一个问题,要求玩家分解整数X(10 ^ 3
..
给出一个数字 1
..
我想运行类似下面的代码,以便我能够找到约30至40长度的除数,而不必检查数百万种可能性,甚至直到其平方根.找到数字的合法非平凡因数的最快解决方案是什么,或者如何在无需遍历所有可能选项的情况下改进下面的代码以更快地运行. 静态整数除数(字符串numberToCheck){BigInteger n = BigInteger.Parse(numberToCheck);BigInteger sqrt =
..
我编写了一个程序,试图找到可配对.这需要找到适当的数字除数之和. 这是我当前的sumOfDivisors()方法: int sumOfDivisors(int n) { int sum = 1; int bound = (int) sqrt(n); for(int i = 2; i
..
我写了一个快速的代码来分解公式,但是用这条线创建D的平方根是行不通的.该行是第10行.不胜感激. using System; public class MainClass { //Source Numbers public int A = 1; public int B = 3; public int C = 9; //Calculation Numbers public f
..
我是Clojure的新手,我想定义一个函数pt,将一个数字n和一个序列s作为参数,并返回n部分中的所有s分区,即其因式分解关于n-串联.例如(pt 3 [0 1 2])应该产生: (([] [] [0 1 2]) ([] [0] [1 2]) ([] [0 1] [2]) ([] [0 1 2] []) ([0] [] [1 2]) ([0] [1] [2]) ([0] [1 2] [])
..
我有一个很大的数字,它是几个小素数的乘积.我知道人数,也知道主要因素,但我不知道他们的力量.例如: (2^a)x(3^b)x(5^c)x(7^d)x(11^e)x .. = 2310 现在,我想以非常快速有效的方式恢复指数.我想在FPGA中实现它. 此致 解决方案 问题是当您应该进行二进制搜索时,您正在进行线性搜索以获取正确的幂.以下是显示p的幂为10(p ^ 10)的情况
..
我正在学习红宝石,并通过解决 Project Euler 中的问题来进行实践. 这是我针对问题 12 的解决方案. > # Project Euler problem: 12 # What is the value of the first triangle number to have over five hundred divisors? require 'prime' tria
..
按照用于车轮分解的维基百科上的程序时,我似乎偶然发现了一个问题如果我尝试构建2-3-5-7车轮,则素数331将被视为合成数字. 对于2-3-5-7车轮,2 * 3 * 5 * 7 = 210.因此,我设置了一个具有210个插槽的圆,并顺利完成了步骤1-7.然后,我进入第8步并剔除所有质数倍数的辐条,最终我剔除以121为根的辐条,这是11的倍数,即质数.对于根植于121的辐条,则121 + 2
..
我正在我发现的站点(Euler项目)上解决此问题,并且存在一个问题,其中涉及寻找数字中最大的素因数.我的解决方案大量失败,所以我想知道如何简化此代码? """ Find the largest prime of a number """ def get_factors(number): factors = [] for integer in range(1, number
..
我的常规搜索foo使我失败.我正在尝试找到一个R函数,该函数返回整数的所有因子.至少有两个具有factorize()函数的软件包:gmp和conf.design,但是这些函数仅返回素数.我想要一个返回所有因素的函数. 显然,这很难进行搜索,因为R具有一个称为factor的结构,该结构在搜索中会带来很多干扰. 解决方案 要跟进我的评论(感谢@Ramnath为我的错字),暴力破解方法在我
..
我正在寻找采用任意量子态的算法,该量子态由加权的经典态之和组成,这些态由位组成,像这样: | 0000> / 2-| 0011> / 2 + | 0100> / 2-| 0111> / 2 并使用张量积将其分解为更紧凑的形式,例如: | 0> x(| 0> + | 1>)x(| 00>-| 11>)/ 2 我想将该算法用作可视化/简化(模拟)量
..
有人能指出我一个允许我对python(numpy)中的Cholesky分解执行低级更新的库/代码吗? Matlab将此功能作为称为"cholupdate"的功能提供. LINPACK也具有此功能,但是(据我所知)它尚未移植到LAPACK,因此在例如肮脏的. 我发现scikits.sparse提供了基于CHOLMOD的类似功能,但是我的矩阵很密集. 是否有适用于python且具有与num
..
好的,所以我有很多f.实际上,这个数字长于100位数.我知道这些因素的大小大致相同. 如果我的资源和时间有限,应该使用哪种语言和算法?我包括了在限定时间内对算法进行编码的时间长度. 有想法吗? 编辑:受限制,我的意思是在尽可能短的时间内. 解决方案 最新的素数分解算法是二次筛及其变体.对于大于100位数的数字,数字筛子变得更加有效. 此处有一个开源实现.仅在在2.2
..
可能的重复项: 第n个丑陋的数字 找到表示表达式的第K个最小数字(2 ^ x)*(3 ^ y)*(5 ^ z) 我想知道如何快速而优雅地解决此问题: 我们定义每个数字 n 为“丑陋",其形式为:2 ^ x * 3 ^ y * 5 ^ z ;,其中x,y和z是自然数.找到第1500个丑陋的数字. 例如第一个“丑陋"的数字是: 1, 2, 3, 4, 5, 6, 8, 9,
..