质数的个数

#include<bits/stdc++.h>
#define N 1000001
using namespace std;
int a[N]={0}; 
bool jude(int a){
	bool t=true;
	for(int i=2;i<a;i++){
		if(a%i==0){
			//return false;
			t=false;
			break;
		}
	}
	return t;
}
int main(){
//	 a={0};
	a[0]=a[1]=0;
	a[2]=1;
	for(int i=3;i<N;i++){
		a[i]+=a[i-1];
		if(jude(i)){
			a[i]++;
		}
	}
	int T;
	cin>>T;
	int b[T];
	for(int i=0;i<T;i++){
		cin>>b[i];
	}
	for(int i=0;i<T;i++){
		cout<<a[b[i]]<<endl;
	}
	return 0;
} 

哪位大佬可以帮我看看这个哪里错了,运行的时候输入都输入不了。感谢感谢!
全部评论
你这复杂度离谱了,你这是 n^2+T 的复杂度了吧……
点赞 回复
分享
发布于 2021-07-12 21:45

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务