Олимпиадные задачи по программированию. Лучшие решения. Часть 1. Ускова О.Ф - 41 стр.

UptoLike

knc:=Temp;
End;
End;
Begin
Write('Введите число ');
ReadLn(N);
n:=abs(n); {Вычислим модуль n}
if n=0 then Writeln('0') else
Begin
while n mod 2 = 0 do n:=n div 2; {уменьшаем n до нечетного
числа }
c:=n div 2; {Разложим n на четное}
nc:=n-c; {и нечетное числа }
if c=0 then kc:=0 else kc:=1;
knc:=1;
while (c>2) or (nc>2) do
Begin
Correct; {поменяем c и nc, если нужно}
c:=c div 2; {получим новый аргумент}
kc:=kc+knc; {получим коэфф. при нем }
nc:=nc-c; {вычислим второй аргумент}
End;
WriteLn(Kc+knc); {Выведем результат}
ReadLn; {Подождем }
End;
End.
Задача 3. "Лабиринт"