题解
2025-08-28 15:52:53
发布于:上海
1阅读
0回复
0点赞
埃氏筛法:
#include<cstdio>
using namespace std;
int main(){
int n,m,v[2000005]={};//数组具体开多少根据题目,这题其实只需要200
scanf("%d%d",&n,&m);
v[1]=1;
for(int i=2;i*i<=m;i++)
if(v[i]==0)
for(int j=2;i*j<=m;j++)
v[i*j]=1;
int cnt=0;
for(int i=n;i<=m;i++){
if(!v[i]){
printf("%d ",i);
cnt++;
if(cnt>=10){
printf("\n");
cnt=0;
}
}
}
return 0;
}
按样例过(内存最少):
main(){__builtin_puts("101 103 107 109 113 127 131 137 139 149\n151 157 163 167 173 179 181 191 193 197\n199");}
这里空空如也
有帮助,赞一个