我是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);
提前致谢。
答案 0 :(得分:1)
请注意,factorint(p)
始终返回nx2矩阵,其中n
是p
的素数因子数。第一列是主要因素。第二栏是他们的多重性。
所以你需要的是找到第一列的最大元素。它可以按如下方式完成:
factors = factorint(p-1);
print("number is = ", vecmax(factors[, 1]));
顺便说一下,PARI / GP中向量v
的长度只是#v
。