Присоединиться

11 класс·высокий уровень

N. Алгоритм строит по нему новое число R следующим образом.1. Строится

Условие

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.1. Строится двоичная запись числа N.2. Далее эта запись обрабатывается по следующему правилу:а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.Полученная таким образом запись является двоичной записью искомого числа R.3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 6₁₀ = 1102 результатом является число 1000₂ = 8₁₀, а для исходного числа 4₁₀ = 100₂ это число 1101₂ = 13₁₀.Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, не превышающее 19. В ответе запишите это число в десятичной системе счисления.

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python. otv = []for n in range(1000): s = bin(n)[2:] if s.count('1')%2==0: s = '10' + s[2:] + '0' else: s = '11' + s[2:] + '1' r = int(s,2) if r <= 19: otv.append(n)print(max(otv))

Осталось ещё 1 шаг

  1. Приведём решение Александра Козлова на языке…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Анализ и построение алгоритмов для исполнителей»