1013 数素数

令P~i~表示第i个素数。现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数。

输入格式:

输入在一行中给出M和N,其间以空格分隔。

输出格式:

输出从P~M~到P~N~的所有素数,每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

分析:找出位置为P~M~到P~N~的所有素数,使用一个计数变量控制输出格式

import math
def isprime(n):
    if n%2==0 and n!=2:
        return 0
    if n%3==0 and n!=3:
        return 0
    i=3
    while i<=math.sqrt(n):
        if n%i==0:
            return 0
        i+=2
    return 1
n=input().split()
a,b=int(n[0]),int(n[1])
count=0
c=0
j=2
while count<b:
    if isprime(j)==1:
        count+=1
        if count>=a:
            c+=1
            if count==b:
                print(j,end='')
            elif c%10==0:
                print(j)
            else:
                print(j,end=' ')
    j+=1

猜你喜欢

转载自blog.csdn.net/swordboy_fire/article/details/81047818
今日推荐