素数

来源:互联网 发布:mac电脑如何装双系统 编辑:程序博客网 时间:2024/05/16 12:21
**质数**(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被整除,换句话说就是该数除了1和它本身以外不再有其他的因数,否则被称为合数。

(1)素数判断

bool isprime(int n){    int i;    for(i=2;i<n;i++)        if(n%i==0)            break;    if(i<n || n==1)       return false;    else        return true;}

这里有一个小结论:
大于2的所有偶数都可以分解为两个素数之和;

(2)素数打表

const int MAX = 1E5+10;int n,i,j,a[MAX],p[MAX],t=0;void prime(int n){    memset(a,0,sizeof(a));    a[1]=1;    for(i=2;i<=n;i++)        if(!a[i]){            p[t++]=i;            for(j=i+i;j<=n;j+=i) a[j]=1;        }    for(i=0;i<t;i++)        printf("%d%s",p[i],i<t-1?" ":"\n");} 
原创粉丝点击