#include <stdio.h>
#include <math.h>
int main(){
int n,i,j;
int a[100001]={0};
for(i=2;i<100001;i++){
a[i]=i;
}
scanf("%d",&n);
if(n==2){
printf("%d ",n);
}
for (i=2;i<sqrt(n);i++){
for (j=i+1;j<n;j++){//j=i+1
if(a[j]!=0&&a[i]!=0){//这里一定要记住是两个都不为零 我找了半天的错误
if (a[j]%a[i]==0){
a[j]=0;
}
}
}
}
for (i=0;i<n;i++){
if(a[i]!=0){
printf("%d ",i);
}
}
return 0;
}
C语言数组。筛选法求素数,运行结果都正确,但就是过不了学校的评测系统,谁能帮我看看从哪里了?谢谢!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- weixin_39965936 2021-04-17 15:59关注
说有一个结果错误 估计是少了啥条件 但是我查了好几遍了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码