Предмет: Информатика,
автор: Wglf
На вход алгоритма подается натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. строится двоичная запись числа N. 2. К этой записи дописывается справа бит четности: 0, если в двоичном коде числа N было четное число единиц, и 1, если нечетное. 3. К полученному результату дописывается еще один бит четности. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R/ Укажите минимальное число R, большее 180, которое может быть получено в рез-те работы этого алгоритма. Запишите в ответе число в десятичной системе.
Ответы
Автор ответа:
0
# # Код на 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
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
Похожие вопросы
Предмет: Химия,
автор: bhuston271
Предмет: Информатика,
автор: bkhannn15
Предмет: Українська мова,
автор: sofiamelechyn13
Предмет: Математика,
автор: 070519951995
Предмет: Химия,
автор: Lalka332