成为一个认证的专业素数是一个大于1的自然数,它没有除1以外的任何除数。你可以用Python编写一个代码来帮助你找到所有的素数。在本文中,我们将按照以下顺序在Python中编写一个素数程序:什么是素数?
成为一个认证的专业
素数是一个大于1的自然数,它没有除1以外的任何除数。你可以用Python编写一个代码来帮助你找到所有的素数。在本文中,我们将按照以下顺序在Python中编写一个素数程序:
什么是素数?Python程序检查素数优化方法
让我们开始。
什么是素数
“大于1的正整数,除1外没有其他因子,该数本身称为素数。数字2、3、5、7等都是质数,因为它们没有任何其他因素。要在Python中找到一个素数,必须使用for循环从头到尾迭代该值,对于每个数,如果它大于1,则检查它是否除以n。如果我们找到任何其他除n的数,打印该值。
Python程序检查素数
素数始终为正,并且它将在程序开始时被检查。在这里,您将把输入的数字除以所有的数字,看看除了1和数字本身之外是否有任何正的除数。如果找到任何除数,则显示“数字不是素数”,否则显示“数字是素数”。
Python程序:
num=13 如果num>1: 对于范围(2,num//2)中的i: 如果(num%i)==0: print(num,“不是质数”) 打破 其他: print(num,“是质数”) 其他: print(num,“不是素数”)
输出:13是素数
优化方法
在Python中有不同的优化素数程序的方法:
而不是一直检查到n,我们可以一直检查到√n,因为n的较大因子必须是已经检查过的较小因子的倍数。通过观察除2和3外所有素数的形式都是6k±1,可以进一步改进算法。这是因为对于某些整数k和i=,所有整数都可以表示为(6k i)?1、0、1、2、3或4;2除(6k 0),(6k 2),(6k 4);3除(6k 3)。因此,一个更有效的方法是测试n是否可以被2或3整除,然后检查6k±1形式的所有数字。
示例:
def isPrime(n): 如果(n