数论只会GCD。。。
来源:互联网 发布:景观施工图 软件 编辑:程序博客网 时间:2024/04/29 16:39
一些关于GCD的代码。。。。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 typedef long long int LL; 8 9 LL EX_GCD(LL a,LL b,LL& x,LL& y)10 {11 if(b==0)12 {13 x=1;y=0;14 return a;15 }16 else17 {18 LL ret=EX_GCD(b,a%b,x,y);19 int t=x;20 x=y; y=t-a/b*y;21 return ret;22 }23 }24 25 LL inv(int a,int n)26 {27 LL x,y,d;28 d=EX_GCD(a,n,x,y);29 if(d==1)30 return (x%n+n)%n;31 else32 return -1;33 }34 35 LL euler_phi(int n)36 {37 LL ans=n;38 for(int i=2;i*i<=n;i++)39 {40 if(n%i==0)41 {42 ans=ans/i*(i-1);43 while(n%i==0) n/=i;44 }45 }46 if(n>1)47 ans=ans/n*(n-1);48 return ans;49 }50 51 LL phi[120];52 53 LL table_euler_phi(int n)54 {55 memset(phi,0,sizeof(phi));56 phi[1]=1;57 for(int i=2;i<=n;i++)58 {59 if(!phi[i])60 for(int j=i;j<=n;j+=i)61 {62 if(!phi[j]) phi[j]=j;63 phi[j]=phi[j]/i*(i-1);64 }65 }66 }67 68 int a[100],m[100];69 70 LL china(int n,int a[],int m[])71 {72 LL ans=0,x,y,M=1;73 for(int i=0;i<n;i++) M*=m[i];74 for(int i=0;i<n;i++)75 {76 LL w=M/m[i];77 EX_GCD(w,m[i],x,y);78 ans=(ans+(w*x*a[i])%M)%M;79 }80 return (ans+M)%M;81 }82 83 int main()84 {85 return 0;86 }
0 0
- 数论只会GCD。。。
- 数论、、gcd
- 数论+gcd
- HDU 1695 GCD 数论
- GCD Again + 数论
- HDU 1695 GCD (数论)
- 1642 - Magical GCD (数论)
- 数论——GCD
- ZOJ3846 GCD Reduce 数论
- 数论 - hdu5223 GCD
- 【数论】hdu4910Problem about GCD
- 【bzoj2818】【GCD】【数论】
- 简单数论-Gcd
- [HDU2588]GCD(数论)
- GCD Matrix----数论
- POJ1061 数论gcd
- ACM 数论 Maximum GCD
- 数论--uva12716 GCD XOR
- from QQ空间 to 博客园
- ASP.NET MVC 5 - 开始MVC5之旅
- POJ 1061 青蛙的约会
- POJ 2115 C Looooops
- 使用CSS 3创建不规则图形
- 数论只会GCD。。。
- ASP.NET MVC 5 - 控制器
- POJ 1905 Expanding Rods
- ASP.NET MVC 5 - 视图
- jQueryRotate 使用 第一篇
- POJ 2452 Sticks Problem
- 软件设计之——“高内聚低耦合”
- Selenium回放中timeout问题有效解决方案
- ASP.NET MVC 5 - 将数据从控制器传递给视图