在Python中,判断一个数是否是质数通常意味着判断这个数是否只能被1和它自己整除。以下是一个简洁的Python函数,用于判断一个给定的整数是否为质数:
import math
def is_prime(n):
0和1不是质数
if n <= 1:
return False
2和3是质数
if n <= 3:
return True
排除能被2或3整除的数
if n % 2 == 0 or n % 3 == 0:
return False
只需检查到sqrt(n)
i = 5
while i * i <= n:
排除能被i或i+2整除的数
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
这个函数首先排除了小于等于1的数,然后确认2和3是质数,接着排除了能被2或3整除的数。之后,函数通过一个循环从5开始,每次增加6(即检查5, 11, 17, ... 和 7, 13, 19, ...),检查n是否能被这些数整除。这是因为所有质数(除了2和3)都可以表示为6k±1的形式。循环继续直到i的平方大于n,这时如果n是质数,则循环结束,函数返回True;否则返回False。
你可以使用这个函数来判断任意一个整数是否为质数。例如:
number = int(input("请输入一个大于1的自然数:"))
if is_prime(number):
print(f"{number}是一个质数!")
else:
print(f"{number}不是一个质数!")
这段代码会提示用户输入一个大于1的自然数,然后使用`is_prime`函数判断该数是否为质数,并输出相应的结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/144741.html