R:返回素数因子和指数

时间:2014-10-10 08:17:24

标签: r primes factorization

R中是否有办法获得给定数 n 的素数因子分解,显示素数因子及其对应的指数?

例如,如果输出是两个向量,第一个将包含 n 的素因子,第二个将包含相应的指数。

如果n = 123456

,只是给出一个例子

第一个矢量应该是

2 3 643

第二个

6 1 1

为123456 = 2 ^ 6x3 ^ 1x643 ^ 1 在此先感谢您的任何帮助

皮耶罗

2 个答案:

答案 0 :(得分:2)

使用包numbers

library(numbers)

fs = primeFactors(152)
# Prime factor vector:
unique(fs)
# Vector with exponents:
as.vector(table(fs))

答案 1 :(得分:2)

我在answer Richie Cotton提供的http://devoncmather.com/setting-aws-ec2-instance-lamp-git/中找到了这个数字。我们拥有gmpplyr

> library(gmp)
> library(plyr)
> b <- count(asNumeric(factorize(123456)))
> b
    x freq
1   2    6
2   3    1
3 643    1

> b$x
[1]   2   3 643

> b$freq
[1] 6 1 1

gmp包可以处理比numbers包大得多的数字。此设置的另一个优点是所有信息都存储在一个对象中(即在上面的b中,无需调用其他函数来获取您要查找的内容,只需将b子集化。