В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Werevolk1
Werevolk1
30.10.2022 15:55 •  Информатика

Nпервых простых чисел представляются в двоичной системе счисления и записываются подряд. из полученной последовательности нулей и единиц формируется числовая последовательность, каждый элемент которой представляет количество нулей, идущих подряд. например, для n = 10 этими простыми числами являются 2, 3, 5, 7, 11, 13, 17, 19, 23, 29. записанные подряд двоичные представления этих чисел – . сформированная по заданному правилу последовательность имеет вид 1, 1, 1, 1, 3, 2, 1, 1. тогда для n = 1000 максимальный элемент вновь сформированной последовательности будет иметь значение …

Ответ:
tanya596
tanya596
05.10.2020 23:18
10

Код на python 3.5:
from itertools import groupby
n = 1000
primes = [2, 3]
i = 1
while True:
  if all((6 * i - 1) % p != 0 for p in primes):
    primes.append(6 * i - 1)
  if len(primes) == n:
    break
  if all((6 * i + 1) % p != 0 for p in primes):
    primes.append(6 * i + 1)
  if len(primes) == n:
    break
  i += 1
bin_string = ''.join(list(map(lambda p: bin(p)[2:], primes)))
lengths = [len(list(g)) for k, g in groupby(bin_string) if k == '0']
print(max(lengths))
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?