Python Prime数字

时间:2018-01-01 07:48:01

标签: python debugging primes

我刚开始学习python。我正在尝试编写一个打印素数的程序。但它也打印没有。以5结尾。

n = 2

while n >= 2:
    if n == 2:
        print(n)
        n += 1

    while n >= 3:
        if n == 3:
            print(n)
            n += 2
        for i in range (3,n):

            if n % i != 0:
                print(n)
                n += 2

3 个答案:

答案 0 :(得分:1)

这是一个决定素数的算法:

def prime(iterations):
    primes = [2]
    x = math.floor(math.sqrt(iterations)) + 1
    for i in range(iterations):
        if i > 2:
            primes.append(i)
    for i in range(x):
        if i > 1:
            j=2
            while i*j <= iterations:
                if i*j in primes:
                    primes.remove(i*j)
                j += 1
    print(primes)

说明:

第4行:将每个数字附加到素数

第7行和第3行:找到介于1和迭代之间的数字并删除所有可能的因子

第13行:循环因素

答案 1 :(得分:1)

您可以使用以下代码查找素数。

num = int(input("Enter number: "))
if num > 1:
    for i in range(2, num):
        if (num % i) == 0:
            print(num, " is not a prime number")
            break
    else:
        print(num, " is a prime number")
else:
    print(num, " is not a prime number")

素数始终大于1,因此也要检查它。

答案 2 :(得分:0)

x=int(input("Give your No: "))

for k in range(2,x):
    if ((x%k)==0):
        print('Not prime no')
        break
else:
    print("Prime no")