首页 > 学院 > 开发设计 > 正文

phi(int n)快速幂

2019-11-11 04:43:43
字体:
来源:转载
供稿:网友
LL phi(LL n)  {      LL rea = n;      LL t = (LL)sqrt(1.0*n);      for(int i=2;i<=t;i++)      {          if(n % i == 0)          {              rea = rea - rea / i;              while(n % i == 0) n /= i;          }      }      if(n > 1)          rea = rea - rea / n;      return rea;  }  
int powmod(int a,int n,int m){    if(n==0) return 1;    int x=powmod(a,n/2,m);    long long ans=(long long)x*x%m;    if(n%2==1) ans=ans*a%m;    return (int)ans;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表