只有1个测试点没过,求助
查看原帖
只有1个测试点没过,求助
1324147
nanoko4楼主2024/4/24 16:51

各位大神好。这道题,我这样写的代码。只有第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;
}
2024/4/24 16:51
加载中...