2

PARI/GP 是否具有查找 a 的最小素因数t_INT或以其他方式执行整数的部分因式分解的功能?

例如,如果我有号码:

a=261432792226751124747858820445742044652814631500046047326053169701039080900441047539208779404889565067

它需要很长时间才能完成,factor(a)因为a包含两个巨大的主要因素。但是,很容易发现17是 的一个除数a

当然,在这种情况下,我可以只使用forprime(p=2,,a % p == 0 && return(p))或类似的试验部门来找到因素。但是,如果最小的因素有 20 个小数位数,那将是不切实际的,在这种情况下,我可能想使用复杂的方法factor

因此,如果我可以factor用某种标志打电话说我会对任何部分分解感到满意,或者说我只关心最小的非平凡除数等,那将是理想的。

4

1 回答 1

1

我的问题的一个非常简单的部分答案是它factor有一个可选参数lim,所以你可以说:

factor(a, 10^5)

例如,只有下面的因子10^5会出现在结果中(大于的辅因子10^5可以是复合的!)。

to 的可选参数factorint完全不同,是一个按位的“标志”,它不允许指定限制。这可能是让我感到困惑的地方。举个例子:

factorint(a, 1+8)

选择标志1(“避免 MPQS”)和8(“不运行最终 ECM”)。

于 2017-10-20T12:45:49.657 回答