算法设计: 要判断一个数是否是素数,可以从2到该数的平方根遍历每个数,判断该数是否能整除该数,如果存在能整除该数的数,则该数不是素数,否则是素数。

时间复杂度: 该算法的时间复杂度为O(√n),其中n为待判断的数。

代码实现:

import math

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(math.sqrt(n))+1):
        if n % i == 0:
            return False
    return True

num = int(input("请输入一个整数:"))
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "不是素数")

测试样例: 输入:7 输出:7 是素数

输入:10 输出:10 不是素数

输入:1 输出:1 不是素数(根据定义,素数是大于1的自然数)


原文地址: https://www.cveoy.top/t/topic/eRRF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录