Урок 13.1 Задача 12

Урок 13.1 Задача 12

Пользователь вводит четное целое число (если нечетное сообщите об ошибке). Делите это число в цикле на 2 до тех пор пока оно делится, выводя каждый промежуточный результат, например для 12 в консоли получим:

6
3

А для 8:

4
2
1

Решение:

program u13z12;
var i: integer;
begin
  writeln('Vvedite chislo');
  readln(i);
  if (i mod 2) = 0 then
  begin
    while (i mod 2 < 1) do
    begin
      i:=i div 2;
      writeln(i,' ');
    end;
  end
  else
    writeln('ERROR');
  writeln('Poka');
  readln();
end.

Консоль:

Vvedite chislo
8
4
2
1
Poka

Vvedite chislo
6
3
Poka