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

Ответы 1

  • 10Код на python 3.5:from itertools import groupbyn = 1000primes = [2, 3]i = 1while 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 += 1bin_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))
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years