此题有多种做法,直接数也行(枚举所有数然后判断有多少质数);或者维护一个质数列表,输入两个数以后搜索有几个质数。我用的是前者 #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<=2) return Num-1; if(Num%2 == 0) return 0; int s = (int)sqrt((double)Num); int t=3; for(;t<=s;t+=2) if(Num%t == 0) return 0; return 1;} 转载于:https://www.cnblogs.com/FancyMouse/articles/219655.html