题目描述:令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。
输入描述:输入在一行中给出M和N,其间以空格分隔。
输出描述:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
from math import sqrt
#判断是否为素数
PrimeNum=0 #素数个数
index = 2 #索引
list = [] #存放素数集合
def isPrime(num):
if num < 2:
return 0
else:
for i in range(2,int(sqrt(num) + 1)):
if num%i == 0:
return 0
break
else:
return 1
def isPrimes2(n):
if n > 1:
if n == 2:
return 1
if n % 2 == 0:
return 0
for x in range(3, int(sqrt(n) + 1), 2):
if n % x == 0:
return 0
return 1
return 0
a,b=map(int,input().split()) #输入数据
while index <= 10000000:
if isPrime(index) == 1:
PrimeNum += 1
if PrimeNum <= b and PrimeNum >= a:
list.append(index)
else:
if PrimeNum > b:
break
index += 1
for i in range(0,len(list)):
print(list[i], end='' if (i+1)%10 ==0 or list[i]==list[-1] else ' ')
if (i+1) % 10 == 0:
print("\r")