源气泡 2021-12-27 13:15 采纳率: 88.9%
浏览 26
已结题

就一直有数据不通过,我试过好多都过了呀

img

  • 写回答

4条回答 默认 最新

  • CSDN专家-link 2021-12-27 13:21
    关注

    第n小,不是只判断到10000啊
    可能是要得到第9999小的素数,显然这个素数值肯定大于10000的啊。所以你的代码自然不正确
    这个循环不适合用for,更适合用while,输入的n,没找到一个素数,则n减去1,用while(n>0)即可,最后一次循环找到的素数就是结果

    #include <stdio.h>
    int main()
    {
        int n,m=1,i;
        scanf("%d",&n);
        while(n>0)
        {
            m++;
            for(i=2;i<m;i++)
                if(m%i==0)
                    break;
            if(i==m)
                n--;
        }
        printf("%d",m);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 创建了问题 12月27日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集