Мудрец повторяет математический процесс - PullRequest
0 голосов
/ 03 марта 2019

Используя sage maths Мне нужно найти следующие три простых числа после 7.

Мой код в настоящее время:

P = Primes()

P.next(7)

Как мне заставить это повторить, чтобы найти другие 2решения?

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Вы можете просто использовать цикл для сканирования вашей основной таблицы.

P=Primes()
a=7
for i in range(3):
    a=P.next(a)
    print a
0 голосов
/ 03 марта 2019

простой способ таков:

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]
...