如何使用Python检查数字是否为质数?
解决此问题的方法所用的原理是将给定的数除以3的平方根,一个数的平方根是最大的可能因数,因此,没有必要检查该数是否可被其他数整除来确定它是质数。
对于所有可被2整除且小于2的数字,该函数返回false。对于其他所有整数,返回值)如果该函数可被其平方根之任何数整除,则该函数为false;如果该数字不能被任何数整除,则该函数为true。
示例
def is_prime(a): if a < 2: return False elif a!=2 and a % 2 == 0: return False else: return all (a % i for i in range(3, int(a**0.5)+1) ) num=int(input('enter a number')) if is_prime(num)==True: print ("{} is a prime number".format(num)) else: print ("{} is not a prime number".format(num))
输出结果
上述程序的示例运行-
enter a number24 24 is not a prime number enter a number47 47 is a prime number