Блог для маленьких школьников и их родителей
ШколаЛа

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

Автор:
Предмет: Информатика
Уровень: студенческий

Задание 5 На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. К этой записи дописываются справа ещё несколько разрядов по следующему правилу: а) Если Nчётное, то к нему справа приписывается в двоичном виде сумма цифр его двоичной записи; б) Если N нечётное, то к нему справа приписываются два нуля, а слева единица. Полученная таким образом запись (в ней как минимум на один разряд больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Например, запись числа 1101 будет преобразована в 11110100. Укажите такое наименьшее число N, для которого результат работы данного алгоритма больше числа 215. В ответе это число запишите в десятичной системе счисления.​

Ответов к вопросу: 1
  • Densupermen200112
    14.06.2024 | 15:30

    Ответ: Тут в задание опечатка скорее всего
    Если делать по примеру из задания, будет такой код:
    for i in range(20):

       n = i

       n = bin(n)[2:]

       sum = 0

       if int(n) % 2 == 0:

           sum = str(n).count(‘1′)

           sum = bin(sum)[2:]

           r = n + sum

       else:

           r = ’11’ + n + ’00’

       r = int(r, 2)

       if r > 215:

           print(i)
    Если делать по условию задание, будет такой код:
    for i in range(30):

       n = i

       n = bin(n)[2:]

       sum = 0

       if int(n) % 2 == 0:

           sum = str(n).count(‘1’)

           sum = bin(sum)[2:]

           r = n + sum

       else:

           r = ‘1’ + n + ’00’

       r = int(r, 2)

       if r > 215:

           print(i)

Ответить на вопрос:
:p :-p 8) 8-) :lol: =( :( :-( :8 ;) ;-) :(( :o:
Нажимая на кнопку я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.