数素数 |
Time Limit: 1 Seconds Memory Limit: 32768 K Total Submit:620 Accepted:235 |
Description 素数是的只能被1和它本身整除的自然数。判断一个数是素数的方法是使用2到该数的平方根的素数除它,若有能整除的则该数不是素数。 Input 本题有多组数据,每组数据由两个正整数M,N组成。(0<M<N<1000000) Output 输出一个整数,表示介于M,N之间(包括M,N)的素数的数量。 Sample Input 5 10 1 3 6 8
Sample Output 2 2 1
Source tongji OJ |
Source: #include<iostream.h> #define N 10000000 int a[N]; void prime(long n) { long i,j; a[1]=1; for(i=2;i<n;i++) a[i]=1; for(i=2;i<n/2;i++) if(a[i]) for(j=i*2;j<n;j=j+i) a[j]=0; } int main() { long m,n,sum,i; while(cin>>m>>n) { prime(n); sum=0; for(i=m;i<=n;i++) if(a[i]) ++sum; cout<<sum<<endl; } return 0; }
|