Исполнитель “раздвоитель” преобразует натуральные числа. у него есть две команды: “вычесть 1” и “разделить на 2”, первая команда уменьшает число на 1, вторая команда уменьшает число в два раза, если оно чётное, иначе происходит ошибка (паскаль)
Var n,k:integer; begin write('n='); readln(n); write('k='); readln(k); case k of 1: begin n:=n-1; writeln('n=',n); end; 2: if n mod 2 = 0 then begin n:=n div 2; writeln('n=',n); end else writeln('Ошибка'); else writeln('Неверная команда'); end; end.
begin
write('n='); readln(n);
write('k='); readln(k);
case k of
1: begin n:=n-1; writeln('n=',n); end;
2: if n mod 2 = 0
then begin n:=n div 2; writeln('n=',n); end
else writeln('Ошибка');
else writeln('Неверная команда');
end;
end.
Пример:
n=16
k=2
n=8