各位大佬帮帮我,欧拉筛
  • 板块灌水区
  • 楼主MsgNotFound
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/6/10 10:39
  • 上次更新2024/6/10 14:18:42
查看原帖
各位大佬帮帮我,欧拉筛
906900
MsgNotFound楼主2024/6/10 10:39
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[100005]={0};
	int n,ans=0;cin>>n;
	for(int i=1;i<=n;i++)a[i]=1;
	int t=0,p[100005]={0};
	for(int i=2;i<=n;i++){
		if(a[i]==1)p[++t]=i;
		for(int j=1;j<=t&&p[j]*i<=n;j++){
			a[p[j]*i]=0;
			if(i%p[j]==0)break;
		}
	} 
	for(int i=1;i<=n;i++){
		if(a[i]==1)cout<<a[i]<<' ';
	}
	cout<<ans;
	return 0;
} 

不知道出了什么弱智的错误,输出全是1,最后一个是0

2024/6/10 10:39
加载中...