冻鸦2345 2021-11-14 09:22 采纳率: 82.6%
浏览 14
已结题

质数筛求质数问题,看下哪里错了

用筛法求出n(2≤n≤1000)n(2≤n≤1000)以内的全部质数。

【输入】
输入n。

【输出】
多行,由小到大的质数。

【输入样例】
10
【输出样例】
2
3
5
7

#include<stdio.h>
#include<math.h>
int is_prime(int a){
    if(a==1){return 0;} 
    else for(int i=2; i<=floor(sqrt(a)+0.5); i++){
        if(a%i==0)return 0;
    }
    return 1;
}
int main(){
    int n;
    scanf("%d",&n);
    int N[n+1];
    for(int i=0; i<n+1; i++){
        N[i]=1;
    }
    for(int i=2; i<n+1; i++){
        if(is_prime(i)==1){
        for(int o=2; o<n+1; o++){
            if(o%i==0){
                N[o]=-1;
            }
        }
            
        }    
    }
    for(int i=2; i<n+1; i++){
        if(N[i]>0){
            printf("%d\n",i);
        }
    }
    return 0;
} 

  • 写回答

1条回答 默认 最新

  • 汇编出错 2021-11-14 09:52
    关注

    19-21的代码是多余的。更换在a[i]=-1。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 11月14日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度