圣人数学重复过程
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
使用 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