Число, двоичная запись которого оканчивается двумя нулями

На вход программе подаются натуральные числа. Точное количество чисел неизвестно, но может быть очень велико. Требуется найти среди введенных данных наибольшее число, двоичная запись которого оканчивается двумя нулями. Гарантируется, что хотя бы одно такое число в последовательности есть.

Формат ввода

В строке вводится сначала целое число n – количество чисел в цепочке ( n ≤ 1000 ), затем n натуральных чисел (каждое число <=106), все числа отделены друг от друга одним или несколькими пробелами

Я так понимаю, надо найти максимум, потом перевести в двоичную сс и провеить на наличие двух нулей на конце, а если нет, то шаг назад.

Так а помочь-то как?) В чем именно проблема?

А зачем в двоичный переводить? Оно и так в двоичном в памяти. Сначала проверяешь делится ли на 4 без остатка. Если два нуля в конце оно обязано делиться ) Не хочешь делением проверяй маской: Число AND 3 = 0. И только после этого если два нуля в конце с максимумом сравниваешь