首页 > 其他 > 详细

B1013(通过)

时间:2019-12-22 10:26:05      阅读:72      评论:0      收藏:0      [点我收藏+]

这种方法是采用B1017的那个求素数的算法,并且送一个比较大的数值当作上线(20000),也可以进一步压缩,但是这个数已经够用了,就没有再试了。

python方便是方便,但是真的慢

def isPrime(n, result):
    flag = [1] * (n+2)
    p = 2
    while( p <= n):
        result.append(p)
        for i in range(2*p, n+1, p):
            flag[i] = 0
        while 1:
            p += 1
            if (flag[p] == 1):
                break

str = input().split()
m = int(str[0])
n = int(str[1])

prime = []

isPrime(200000, prime)
result = prime[m-1: n]
if (len(result) == 1):
    print(result[0])
else:
    for i in range(len(result) - 1):
        if (i + 1) % 10 == 0:
            print(result[i])
        else:
            print(result[i], end = " ")
    if (i+2) % 10 == 0:
        print(result[i+1])
    else:
        print(result[i+1], end = "")

B1013(通过)

原文:https://www.cnblogs.com/wanghao-boke/p/12079141.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!