1

如何使用 PARI/GP找到给定素数p除以数字的最高幂?N

例如。如果我们有p = 7并且N = 3087我们得到e = 3p^e | Np^(e+1)没有分裂N

我想避免数字的完全分解N

4

1 回答 1

2

使用valuation命令,如下所示:

valuation(3087, 7)

这不计算数字的分解。

或者,您可以编写自己的函数:

val(n, p)=
{
  if(n==0, return(+oo));
  my(e);
  while(n%p==0,
    n /= p;
    e++
  );
  e;
}
于 2015-04-21T18:22:03.210 回答