令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。
输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
结尾无空行
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103
结尾无空行
代码:
M,N = map(int,input().split())
sushu = []
sushu1 = []
for i in range(105001):#测试点4测的是第10000个素数,大约在105000左右
sushu1.append(1)
for i in range(2,105001):
if (sushu1[i]):
for j in range(2*i,105001,i):
sushu1[j] = 0
for i in range(2,105001):
if sushu1[i]:
sushu.append(i)
k = 1
for i in range(M,N+1):
if (k % 10 != 0) and (i != N):
print('%d ' % sushu[i-1],end='')
elif k == N:
print('%d' % sushu[i-1],end='')
else:
print('%d' % sushu[i-1],end='')
print()
k += 1