33741 2022-04-03 10:51 采纳率: 93.2%
浏览 61
已结题

请问大家我用Python输出100以内的质数和这样写有什么问题吗

我自己找不到问题 但是输出确实是有问题的😭求有无帅哥美女指点一下是哪里错了!

img

img

  • 写回答

1条回答 默认 最新

  • A-Chin 2022-04-03 11:54
    关注

    楼主获取的素数不对。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
    判断质数时,加了一个变量 count 来判断,如果在循环中,只要有一个 i % n == 0,那就代表该数不是质数。所以只有结束循环后,满足 count == 0 的数才是质数。

    参考代码如下:(print str(i) + "为质数"可以注释掉)

    sum = 0
    for i in range(2, 101):
        count = 0
        for n in range(2, i):
            if i % n == 0:
                count += 1
                break
        if count == 0:
            print str(i) + "为质数"
            sum = sum + i
    print (sum)
    

    输出结果:

    >>> 
    2为质数
    3为质数
    5为质数
    7为质数
    11为质数
    13为质数
    17为质数
    19为质数
    23为质数
    29为质数
    31为质数
    37为质数
    41为质数
    43为质数
    47为质数
    53为质数
    59为质数
    61为质数
    67为质数
    71为质数
    73为质数
    79为质数
    83为质数
    89为质数
    97为质数
    1060
    >>> 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作