首页 > 代码库 > 【模板】一坨数学算法
【模板】一坨数学算法
求GCD
1 int gcd(int a,int b){return !b ? a : gcd(b,a%b);}
线性筛求[1,n]的质数
1 bool isprime[1000]; 2 int prime[100],tot; 3 void pri(int n) 4 { 5 tot = 0; 6 memset(isprime,true,sizeof(isprime)); 7 int i,j; 8 for(i=2;i<=n;i++) 9 {10 if(isprime[i]) prime[++tot] = i;11 for(j=1;j<=tot&&i*prime[j]<=n;j++)12 {13 isprime[i*prime[j]] = false;14 if(i%prime[j]==0) break;15 }16 }17 }
扩展欧几里得算法
1 int exgcd(int a,int b,int &x,int &y) 2 { 3 if(!b) 4 { 5 x = 1,y = 0; 6 return a; 7 } 8 int ret = exgcd(b,a%b,x,y); 9 int t = x;10 x = y;11 y = t - a/b * y;12 return ret;13 }
【模板】一坨数学算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。