Задача к ЕГЭ по информатике на тему «Запись числа в другой системе счисления» №1

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

1) Строится шестнадцатеричная запись числа N∕∕2  , где «∕∕  » — операция деления нацело.

2) К этой записи дописывается еще три разряда по следующему правилу:

  а) если N  не делится на 4, то слева к нему приписывается «F  », а справа «A0  ».

  б) в противном случае слева приписывается «15  », а справа «C  ».

Например, N = 410 ⇒ 216 ⇒ 152C16 = 542010 = R  .

Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N  ) является шестнадцатеричной записью искомого числа R  .

Укажите наибольшее число N  , для которого результат работы алгоритма меньше 1048576  . В ответ запишите это число в десятичной системе счисления.

for i in range(1000000, 0, -1):
    s = hex(i // 2)[2:]
    if i % 4 != 0:
    
s = ’f’ + s + ’a0’
    else:
    
s = ’15’ + s + ’c’
    if int(s, 16) < 1048576:
        print(i)
        break

Ответ: 511
Оцените статью
Я решу все!