判断一个数是否是素数是返回true 不是返回false 要求:用自然语言设计算法计算算法的时间复杂度编程写判断素数的函数并在主函数中读取键盘输入的整数判断其是否为素数打印输出判断的结果。
算法设计: 要判断一个数是否是素数,可以从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 著作权归作者所有。请勿转载和采集!