m0_74004749 2022-10-31 14:16 采纳率: 83.3%
浏览 59
已结题

编译前十对孪生素数求找出问题

为什么编译运行不出来我想要的结果(输出十对孪生素数)求解,本身是求出两组素数,然后相减等于二,输出前十个,可是我却编译出来空白

img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-10-31 16:48
    关注

    题主的代码里,第一个for()就死循环了,当然没结果了。题主的思路是,先找到第一个素数,找到后接着素数再找一个,最后将这两个素数相减等于2后计数 count++,直到 count 等于 10 ,停止循环。但代码里没按这思路写。
    题主的代码修改如下,供参考:

    #include <stdio.h>
    int main()
    {
        int number1 = 0,number2 = 0,i,j,a,b,count = 0;
        for (i = 2;count < 10;i++)  // 修改
        {
            for (j = 2,a = 0,b = 0;j < i;j++)
            {
                if (i % j == 0) break;
            }
            if (j == i)
            {
                a = i;  //a 保留第一个找到的质数
                for (j = 2;j < i + 2;j++)
                {
                    if ((i+2) % j == 0) break;
                }
                if (j == i + 2)
                    b = i + 2; //b 为与a相差2的质数
            }
            if (a && b) //如果a b 两数都不是0,就找到了质数对
            {
                printf("%d %d\n",a, b);
                count++;
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月11日
  • 已采纳回答 11月3日
  • 创建了问题 10月31日

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?