На вход алгоритма подается натуральное число n. алгоритм строит по нему новое число r следующим образом. 1. строится двоичная запись числа n. 2. к этой записи дописывается справа бит четности: 0, если в двоичном коде числа n было четное число единиц, и 1, если нечетное. 3. к полученному результату дописывается еще один бит четности. полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа n) является двоичной записью искомого числа r/ укажите минимальное число r, большее 180, которое может быть получено в рез-те работы этого алгоритма. запишите в ответе число в десятичной системе.

verchik1739 verchik1739    2   08.08.2019 04:50    0

Ответы
lyubasha1988 lyubasha1988  04.10.2020 04:21
# # Код на ruby 2.2.3p173
def NtoR(n)
    t = n.to_i
    k = 0
    while t > 0 do
        k += t % 2
        t = t / 2
    end

    if k % 2 == 0 then
        return n * 2**2
    else
        return n * 2**2 + 1 * 2
    end
end

min = 1000
for i in 1..200
    r = NtoR(i)
    min = r if (r > 180) and (min > r)
end
p min

ответ 184
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика