luogu 5091 欧拉定理

luogu 5091 欧拉定理,第1张

概述    裸题: 扩展欧拉定理的应用  1 #include<bits/stdc++.h> 2 using namespace std; 3 int ph(int x){ 4 int ret=x; 5 for(int i=2;i*i<=x;i++) 6 if(x%i==0){ 7 ret=ret/i*(i-1);

 

 

裸题: 扩展欧拉定理的应用 

 1 #include<bits/stdc++.h> 2 using namespace std;  3 int ph(int x){ 4     int ret=x;   5     for(int i=2;i*i<=x;i++) 6         if(x%i==0){ 7             ret=ret/i*(i-1);     8             while (x%i==0) x/=i;   9         }10     if(x>1) ret=ret/x*(x-1);     11     return ret;  12 }  13 int main(){14     int a,b=0,m,check=0;  15     scanf("%d%d",&a,&m);  16     int t=ph(m); 17     char c;  18     while ((c=getchar()) && !isdigit(c));  19     while (isdigit(c)){20         b=b*10+(c^48);  21         while (b>=t) b-=t,check=1;    22         c=getchar();    23     } 24     if(check) b=b+t;   25     int ans=1;  26     for(int i=0;i<=20;i++){27         if(b&(1<<i)) ans=1LL*ans*a%m;  28         a=1LL*a*a%m; 29     }30     printf("%d\n",ans);  31     return 0; 32 }
VIEw Code 总结

以上是内存溢出为你收集整理的luogu 5091 欧拉定理全部内容,希望文章能够帮你解决luogu 5091 欧拉定理所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1211615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存