PARI / GP:如何获得整数的最大素因子?

时间:2016-05-10 18:01:46

标签: pari-gp pari

我是pari / gp的新手。我使用factorint来查找所有素数因子,并返回一个矩阵。 我试图遍历矩阵,找到内部最大的数字,但无法找到行和列的长度。另外我如何使用if来比较每个元素是高还是低。我的p正在生成。

temp = factorint(p-1);
num = 0;
for(i=1, size,
    for(j=1, size,
        if(num <= temp[i,j], num = temp[i,j]);
    );
);

print("number is = "  num);

提前致谢。

1 个答案:

答案 0 :(得分:1)

请注意,factorint(p)始终返回nx2矩阵,其中np的素数因子数。第一列是主要因素。第二栏是他们的多重性。

所以你需要的是找到第一列的最大元素。它可以按如下方式完成:

factors = factorint(p-1);
print("number is = ", vecmax(factors[, 1]));

顺便说一下,PARI / GP中向量v的长度只是#v