Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:
1) Строится двоичная запись числа N.
2) Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.
3) Шаг 2 повторяется ещё два раза.
4) Результат переводится в десятичную систему счисления.
При каком наименьшем исходном числе N > 65 в результате работы алгоритма получится число, кратное 4?
Ответы на вопрос
Ответил badnsnus
0
Ответ:284
Объяснение:
for i in range(65, 10000):
n = i
x = bin(n)[2:]
for i in range(2):
if x.count('0') == x.count('1'):
x += x[-1]
else:
x += '0' if x.count('0') < x.count('1') else '1'
r = int(x, 2)
if r % 4 == 0:
print(r)
break
Новые вопросы
Русский язык,
2 года назад
Английский язык,
2 года назад
Алгебра,
6 лет назад
Математика,
8 лет назад