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

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

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

img

img

  • 写回答

1条回答 默认 最新

  • A-Chin 2022-04-03 03: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月10日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部