Список степеней двойки (Pascal)

Список степеней двойки

По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания.

Операцией возведения в степень пользоваться нельзя!

Входные данные
Вводится натуральное число.

Выходные данные
Выведите ответ на задачу.

Исходный код на языке Pascal
var
  a, i, s: integer;

begin
  read(a);
  s := 1;
  for i := 1 to a do
    if s <= a then
    begin
      write(s, ' ');
      s := s * 2;
    end
    else
      break;
end.