Привет! К сожалению, твой ответ "1" неверен. Правильный ответ на эту задачу - "103".
Алгоритм работает следующим образом:
Строится двоичная часть числа N.
Складываются все цифры полученной двоичной записи. В начало записи (слева) дописывается остаток от деления суммы на 2.
Пункт 2 повторяется еще один раз.
Результат переводится в десятичную систему счисления и выводится на экран.
Чтобы найти минимальное число N, для которого результат работы алгоритма будет больше 228, нужно перебирать числа, начиная с 1, и проверять их реализацию в алгоритме.
Верный код на языке Python: n = 1 while True: r = str(bin(n))[2:] for i in range(2): if r.count('1') % 2 == 0: x = '0' + r else: x = '1' + r if int(x, base=2) > 228: print(n) break n += 1
Таким образом, правильный ответ на задачу - 103.
Пожалуйста, оцени мой ответ лайком или дизлайком.