标签:
1.计算a^b mod n
//计算a^b mod n ll modexp(ll a,ll b,ll n) { ll ret=1; ll tmp=a; while(b){ //基数存在 if(b&1) ret=ret*tmp%n; tmp=tmp*tmp%n; b>>=1; } return ret; }
2.素数筛选法-返回n以内素数的个数
//素数筛选法-返回n以内素数的个数 int sieve(int n){ int p=0;//个数 for(int i=0;i<=n;++i)isprime[i]=true; isprime[0]=isprime[1]=false; for(int i=2;i<=n;++i){ if(isprime[i]){ prime[p++]=i;//记录素数 for(int j=2*i;j<=n;j+=i)isprime[j]=false; } } return p; }
3.最大公约数-返回m、n的最大公约数
//最大公约数-返回m、n的最大公约数 int Gcd(int m,int n){ return m==0 ? n : Gcd(n%m,m); }
4.求n的最大质因子
//求n的最大质因子Max int t=n,Max=1; for(int i=2;i<=sqrt(n);++i){ while(t%i==0){ t=t/i; Max=i; } } Max=max(Max,t);
标签:
原文地址:http://www.cnblogs.com/bruce27/p/4924231.html