📜  资质 |门 CS 1998 |第 31 题(1)

📅  最后修改于: 2023-12-03 15:12:13.875000             🧑  作者: Mango

资质 |门 CS 1998 |第 31 题

题目描述

编写一个函数,判断一个正整数是否为质数。

输入

一个正整数 n (n <= 10^9)。

输出

如果 n 是质数,输出 True,否则输出 False。

解题思路

质数(素数)是指除了 1 和它本身以外,不能被其他正整数整除的数。因此,可以用一个循环遍历小于 n 的所有正整数,判断是否能整除 n。

如果存在一个数能整除 n,那么 n 就不是质数,输出 False。如果遍历完所有小于 n 的正整数都不能整除 n,那么 n 是质数,输出 True。

代码实现
def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True
测试样例
assert is_prime(2) == True
assert is_prime(3) == True
assert is_prime(4) == False
assert is_prime(5) == True
assert is_prime(6) == False