20240111检查是否为质数

发布时间:2024年01月11日

代码

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,它有多个因数,包括:

  1. 1:因为12除以1等于12。
  2. 2:因为12除以2等于6。
  3. 3:因为12除以3等于4。
  4. 4:因为12除以4等于3。
  5. 6:因为12除以6等于2。
  6. 12:因为12除以12等于1。

所以,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。

文章来源:https://blog.csdn.net/wujianyouhun/article/details/135521218
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。