问题1:如何判断一个整数是否为质数?
分析:使用for循环,可以很方便实现。
x = int(input("请输入一个不小于2的整数:"))
isPrimeNumber = True
for i in range(2, x):
if x % i == 0:
isPrimeNumber = False # 如果在2~x-1的范围内,x有被整除的情况,则x不是质数
break
if isPrimeNumber:
print(x, "是质数。")
else:
print(x, "不是质数。")
问题2:打印出100以内的所有质数
for x in range(2, 101):
isPrimeNumber = True
for i in range(2, x):
if x % i == 0:
isPrimeNumber = False # 如果在2~x-1的范围内,x有被整除的情况,则x不是质数
break # 结束本层循环,之后判断下一个数
if isPrimeNumber:
print(x)
运行结果为:
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
代码分析:上面的例子,用到了for循环的嵌套,并且内层for循环中用到了break,它用于结束本层循环,不影响外层循环。
示例中用于判断一个整数是否为质数的算法,虽然实现了功能,但效率有待提高,后面的章节会具体介绍。