各位大神好。这道题,我这样写的代码。只有第1个测试点没过,其他都通过了。为何??
/*
判决素数个数
*/
#include<bits/stdc++.h>
using namespace std;
bool is_prime(int a){
if(a==2)return true;
int temp=sqrt(a);
for(int i=3;i<=temp;i+=2){
if(a%i==0){
return false;
}
}
return true;
}
int main(){
int m,n;
cin>>m>>n;
if(m>n)swap(m,n);
//如果是从1或2开始的,那就把count=1
int count=m<3?1:0;
//只看奇数
for(int i=m%2?m:m+1;i<=n;i+=2){
if(i==1)continue;
if(is_prime(i)){
count++;
}
}
cout<<count<<endl;
return 0;
}