Fancy Mouse
- -|||
此题有多种做法,直接数也行(枚举所有数然后判断有多少质数);或者维护一个质数列表,输入两个数以后搜索有几个质数。我用的是前者
#include<iostream>
#include
<cmath>
using namespace std;

int IsPrime(long Num);
int main()
{
    
long int n,m,sum;
    
while(cin>>n>>m)
    
{
        sum
=0;
        
for(;n<=m;n++)
            
if(IsPrime(n)) sum++;
        cout
<<sum<<endl;
    }

    
return 0;
}

int IsPrime(long Num)
{
    
if(Num<=2return Num-1;
    
if(Num%2 == 0return 0;
    
int s = (int)sqrt((double)Num);
    
int t=3;
    
for(;t<=s;t+=2)
        
if(Num%== 0return 0;
    
return 1;
}
posted on 2005-08-21 17:47  Fancy Mouse  阅读(583)  评论(4编辑  收藏  举报