质数、约数(数学知识)
作者:互联网
一、试除法判定质数
bool prime(int x) { if (x<2)return false; for (int i=2; i<x/i; i++) if (x%i==0) return false; return true; }
二、分解质因数
void divide(int x) { for (int i=2; i<=x/i; i++) if (x%i==0) { int s=0; while (x%i==0)x/=i,s++; cout<<i<<' '<<s<<"\n"; } if (x>1)cout<<x<<' '<<1<<"\n"; }
三、筛质数
void get_primes(int n) { for (int i=2;i<=n;i++) { if (!st[i]) { primes[cnt++]=i; for (int j=i+i;j<=n;j+=i)st[j]=true; } } }
标签:约数,prime,int,质数,数学知识,质因数,void 来源: https://www.cnblogs.com/Mercury1988/p/16061773.html