如何将数除以 PARI/GP p
找到给定素数的最高幂N
?
例如,如果我们有p = 7
和N = 3087
,我们会得到e = 3
p^e | N
但p^(e+1)
不除N
。
我想避免对数字N
进行完全分解。
使用 valuation
命令,如下所示:
valuation(3087, 7)
这不会计算数字的因式分解。
或者,您可以编写自己的函数:
val(n, p)=
{
if(n==0, return(+oo));
my(e);
while(n%p==0,
n /= p;
e++
);
e;
}