def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
print(is_prime(11))
质数
质数是指在大于1的自然数中,除了1和它自身以外,不能被其他自然数整除的数。也就是说,如果一个数只有两个不同的正因数,即1和它自身,那么这个数就是质数。例如,2,3,5,7,11,13,17,19,23等等都是质数。
需要注意的是,根据定义,1并不是质数。另外,2是唯一的偶数质数,因为所有其他的偶数都可以被2整除。
因数
在数学中,一个数的因数是能够整除该数而不产生余数的数。换句话说,如果把一个数a除以另一个数b,如果结果是整数,那么b就是a的因数。
例如,对于数字12,它有多个因数,包括:
所以,12的因数包括1、2、3、4、6和12。每个正整数都至少有两个因数:1和它本身。如果一个数字只有这两个因数,那么它是一个质数。
检查一个数是否为质数
首先检查数字是否小于2,因为2是最小的质数。然后,它在2到数字的平方根的范围内(取整,加1是为了包含所有可能的因数)寻找任何可能的因数。这是因为一个数的所有可能因数都不会超过它的平方根。int(num**0.5) + 1
这部分代码是为了确定在判断一个数 num
是否为质数时遍历的范围。具体来说,对 num
取平方根 num**0.5
可以得到一个接近 num
平方根的浮点数,然后使用 int()
函数将其转换为整数,最后加上 1。
这是因为如果一个数不是质数,它可以分解成两个因数的乘积,其中至少一个因数小于或等于它的平方根。因此,在检查 num
是否为质数时,只需要遍历从 2 到 int(num**0.5) + 1
的范围就足够了。
如果找到任何因数(即该数字能被任何在该范围内的数字整除),该函数将返回False,表示该数字不是质数。否则,函数将返回True,表示该数字是质数。
在最后,你通过调用这个函数并打印结果检查11是否是质数,因为11只有1和它自己可以整除,所以11是质数,代码将会返回并打印True。