直接上代码
#输出N以内的所有素数,并每行输出10个
import math
def print_prime():
n = int(input("请输入一个大于2的正整数:"))
m = 3
flag = True
index = 0
if n < 3:
print('您输入的数字有误,请重新输入!')
print_prime()
else:
while m <= n:
for i in range(2, int(math.sqrt(m))+2):
if m % i == 0:
flag = False
break
else:
flag = True
if flag:
index += 1
print(m, end='\t')
if index % 10 == 0:
print()
m += 1
if __name__ == '__main__':
print_prime()
运行结果如下:
请输入一个大于2的正整数:2
您输入的数字有误,请重新输入!
请输入一个大于2的正整数:1
您输入的数字有误,请重新输入!
请输入一个大于2的正整数:6
3 5
Process finished with exit code 0
请输入一个大于2的正整数:100
3 5 7 11 13 17 19 23 29 31
37 41 43 47 53 59 61 67 71 73
79 83 89 97
Process finished with exit code 0