首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测试列表的可分性并追加if素数

测试列表的可分性并追加if素数
EN

Stack Overflow用户
提问于 2018-11-11 06:11:49
回答 2查看 41关注 0票数 1

我正在为一个类编写一个简短的片段,该类应该在给定的数字列表中运行并追加任何素数。现在,它正在返回范围内的所有数字。

我在网上找到了如何做到这一点的例子,但我想亲自尝试一下,但我好像碰壁了.这是我的代码:

代码语言:javascript
复制
from random import randrange
from time import sleep

def prime():
    user_num = eval(input("Input a number: "))
    list_prime = []
    for i in range(2,user_num):
        if (i % 2) == 1 and\
            (i % 3) == 1 and\
            (i % 4) == 1 and\
            (i % 5) == 1 and\
            (i % 6) == 1 and\
            (i % 7) == 1 and\
            (i % 8) == 1 and\
            (i % 9) == 1 or\
            i == 2:
            list_prime.append(i)

if list_prime == '':
    print('No prime numbers.')
if list_prime != '':
    print('\nPrime numbers from 1 to ' + str(user_num) + ': ' + str(list_prime))

sleep(1)
print('\nClosing console in 60 seconds...')
sleep(60)

prime()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-11 06:50:36

正如他所说,你没有正确地检查素数。

代码语言:javascript
复制
from random import randrange
from time import sleep

list_prime = []
user_num = 0

def prime():
    user_num = eval(input("Input a number: "))
    for i in range(2,user_num):
        j = 2
        isprime = 1
        while (j <= i/2):
            if (i % j == 0):
                isprime = 0
                break
            j+=1
        if (isprime == 1):
            list_prime.append(i)

prime()
if list_prime == '':
    print('No prime numbers.')
if list_prime != '':
    print('\nPrime numbers from 1 to ' + str(user_num) + ': ' + str(list_prime))

sleep(1)
print('\nClosing console in 60 seconds...')
sleep(60)
票数 1
EN

Stack Overflow用户

发布于 2018-11-11 06:26:30

检查模块操作的结果是否为1并不是正确的方法。例如,6%5是1,但6绝对不是素数。相反,对于每个可疑的N,您应该检查数字X不存在,以至于N%X == 0。

一个非常不理想的实现可能如下所示:

代码语言:javascript
复制
list_prime = []
for i in range(2, user_num):
    if all(n % x for x in list_prime):
        list_prime.append(i)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53246320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档