使用Python编写的isPrime()函数:判断给定数字是否为素数
发布时间:2023-12-11 06:17:39
以下是使用Python编写的isPrime()函数,用于判断给定数字是否为素数:
import math
def isPrime(n):
# 判断输入是否为整数
if not isinstance(n, int):
print("输入必须为整数")
return False
# 判断输入是否大于1
if n <= 1:
return False
# 判断n是否为2或奇数
if n == 2 or n == 3:
return True
elif n % 2 == 0:
return False
# 判断n是否能被2到根号n之间的奇数整除
square_root = int(math.sqrt(n)) + 1
for i in range(3, square_root, 2):
if n % i == 0:
return False
return True
使用示例:
# 判断数字17是否为素数
if isPrime(17):
print("17是素数")
else:
print("17不是素数")
# 判断数字20是否为素数
if isPrime(20):
print("20是素数")
else:
print("20不是素数")
运行以上代码,输出结果为:
17是素数 20不是素数
其中,isPrime()函数的工作原理如下:
1. 首先,检查输入是否为整数。若不是整数,则打印错误信息并返回False。
2. 其次,判断输入是否大于1。若小于等于1,则返回False。
3. 然后,判断输入是否为2或奇数(除2外不能被偶数整除)。若是2或3,则返回True。若为偶数,则返回False。
4. 最后,判断输入是否能被2到根号n之间的奇数整除(根号n取整数部分+1)。若能整除,则返回False。若不能整除,则返回True,证明为素数。
