判断一个数是否是素数是返回true 不是返回false 要求:用自然语言设计算法计算算法的时间复杂度编程写判断素数的函数并在主函数中读取键盘输入的整数判断其是否为素数打印输出判断的结果。时间复杂度
-
设计算法: 判断一个数是否为素数,可以采用试除法,即从2到sqrt(n)逐一判断n能否被整除。如果n能被2到sqrt(n)之间的任意一个数整除,则n不是素数,反之则是素数。
-
时间复杂度: 在试除法中,需要依次判断2到sqrt(n)之间的所有数,因此时间复杂度为O(sqrt(n))。
-
编程实现:
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
n = int(input("请输入一个整数: "))
if is_prime(n):
print("{}是素数".format(n))
else:
print("{}不是素数".format(n))
- 示例输出:
请输入一个整数: 17
17是素数
请输入一个整数: 20
20不是素数
``
原文地址: https://www.cveoy.top/t/topic/eRQX 著作权归作者所有。请勿转载和采集!