Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
def process(array):
result = []
for item in array:
if item % 2 == 0:
result.append(item)
return result
def main():
N = int(input())
assert N>=1 and N<= 100
input_array = [int(i) for i in input().split()]
assert len(input_array) == N
print(' '.join(str(i) for i in process(input_array)))
if __name__ == '__main__':
main()
Объяснение:
Протестировано на предложенном стандартном вводе/выводе + 2 доп. теста:
#1:
Ввод:
3
3 3 4
Вывод:
4
#2
Ввод:
6
3 3 3 4 6 8
Вывод:
4 6 8
P.S - Так как сайт ломает Python-код, ниже приложен скриншот исходного кода программы