如何找到素数(Python)

2024-06-26 09:58:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python编程的初学者,遇到了一个基本问题: 将素数打印到给定的数字。你知道吗

例如数字100之前的素数。你知道吗

为什么我的代码不起作用?或者我的逻辑有什么问题?你知道吗

def count_prime(num):
    newnumber = 0
    for x in num:
        if x%2 == 0:
            newnumber = newnumber + 1
    print(newnumber)

count_prime(100)

Tags: 代码inforifdef编程count数字
2条回答
num = int(input("Enter a number: "))  

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

else:  
   print(num,"is not a prime number")  

测试一个数是否是素数的一个非常简单的方法(即计算速度慢)是简单地检查它是否可以被任何其他数除。你知道吗

def is_prime(n):
    # If n is 0 or 1, it is not prime
    if n <= 1:
        return False
    # Check every number between 2 and n-1
    for i in range(2, n):
        # If n is divisible by i, then the remainder will be zero
        if n % i == 0:
            return False
    # Since n wasn't divisible by any other number, it must be prime
    return True

要打印所有素数,只需检查每个数字。你知道吗

for i in range(num):
    if is_prime(i):
        print(i)

对于num的大值,此方法将非常慢。要查看一些更快的方法来检查一个数的素性,您可以查看this question。你知道吗

相关问题 更多 >