пятница, 14 апреля 2023 г.

Домашнее задание 10Б

Решите задачу (образец из класса под этой задачей)

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

1. Строится двоичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:

а) если количество разрядов в числе чётное, тогда в центр записи числа дописывается 000.

б) если количество разрядов в числе нечётное, тогда к этой записи слева дописывается 1, а справа дописывается 01.

Полученная таким образом запись является двоичной записью искомого числа R. 

Например, для исходного числа 510 = 1012 результатом является число 1101012 = 5310, а для исходного числа 810 = 10002 результатом является число 10000002 = 6410

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

 

В классе мы решили эту задачу:

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

2. Далее эта запись обрабатывается по следующему правилу:

а) если число N делится на 3, то к двоичной записи справа дописываются последние три цифры;

б) если число N не делится на 3, то остаток от деления числа N на 3 умножается на три, а затем полученный результат в двоичном виде приписывается справа к двоичной записи.

Полученная таким образом запись является двоичной записью искомого числа R.

Например, для исходного числа 1210 = 11002 результатом является число 11001002 = 10010, а для исходного числа 410 = 1002 результатом является число 10011= 1910.

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

Решение:

N=0
R=0
while R<=76:
    N+=1
    x=N
    x=bin(N)[2:]
    if N%3==0:
        x=x+x[-3:]
    else:
        x=x+bin((N%3)*3)[2:]
    R=int(x,2)
print(N)

Решение в виде рассуждений или в виде программки присылайте в личные сообщения дневник ру

Комментариев нет:

Отправить комментарий