圣人数学重复过程

Sage math repeat process

使用 sage maths 我需要找到 7 之后的下三个素数。

我目前的代码是:

P = Primes()

P.next(7)

我如何让这个重复以找到其他 2 个解决方案?

一个简单的方法是这样的:

START_PRIME = 7    
NUMBER_PRIMES = 3

for p in Primes():
     if p <= START_PRIME:
         continue
     ret.append(p)
     if len(ret) >= NUMBER_PRIMES:
         break

实际上 Primes() 表现得像一个列表。一旦知道起始素数的索引(在本例中为 3),就可以通过以下方式获得以下素数:

p = Primes()
START_INDEX = 3
NUMBER_PRIMES = 3

p[START_INDEX+1:START_INDEX+1+NUMBER_PRIMES]

为了找到索引,我建议您使用 prime_range。再说一遍:

p_list = prime_range(100)

START_INDEX = p_list.index(7)
NUMBER_PRIMES = 3
p_list[START_INDEX+1:START_INDEX+1+NUMBER_PRIMES]

您可以只使用一个循环来扫描您的素数 table。

P=Primes()
a=7
for i in range(3):
    a=P.next(a)
    print a