题意
题目描述:
令Pi表示第i(i从1开始计数)个素数。现任给两个正整数M <= N <= 10000,请输出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())
def is_prime(n):
if n <= 1:
return False
elif n==2:
return True
elif not n%2 :
return False
else:
for i in range(3,int(n**0.5)+1,2):
if not n%i:
return False
return True
k = 2
s = []
while n:
if is_prime(k):
s.append(k)
n -= 1
k += 1
s = s[m-1:]
s = list(map(str,s))
l = len(s)
while l > 10:
print(" ".join(s[:10]))
s = s[10:]
l -= 10
print(" ".join(s))