UVA1434求助
  • 板块灌水区
  • 楼主cutCUR_MC
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/2/26 13:29
  • 上次更新2024/2/26 18:35:26
查看原帖
UVA1434求助
692189
cutCUR_MC楼主2024/2/26 13:29

RT,我T了求调plz

#include<bits/stdc++.h>
using namespace std;
long long T,n;
bool vis[100000005];
long long ans,p[10000005],m=4e6;
void opp(long long m){
	for(long long i=2;i<=m;i++){
		if(vis[i]==0){
			p[ans++]=i;
		}
		for(long long j=0;j<ans,p[j]*i<=m;j++){
			vis[p[j]*i]=1;
			if(i%p[j]==0){
				break;
			}
		}
	}
}
bool pd(long long x){
	if(vis[x]){
		return 1;
	}
	return 0;
}
int main(){
	opp(m);
	cin>>T;
	while(T--){
		long long ans=0;
		cin>>n;
		for(long long k=1;k<=n;k++){
			long long p=3*k+1;
			if(pd(p)==0){
				ans+=0;
			}
			else{
				ans+=1;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/2/26 13:29
加载中...