var x, y: integer; begin write ('x = '); readln (x); if x > 0 then y := x - 2 else if x = 0 then y := 0 else y := abs (x); writeln ('y = ', y); readln end.
Нельзя использовать кодовые слова, которые начинаются с 0 или с 10. 11 также не можем использовать, поскольку тогда мы больше не сможем взять никакое другое кодовое слово, а нам их нужно пять. Поэтому берём трёхзначное 110. По Условию Фано, если есть a, то ab существовать не может. Другими словами, мы не можем использовать начало с 0, а если возьмем 11, то начинать другие числа не сможем. Поэтому остается брать числа 110,1110,1111(последний берем без 0, т.к. он последний и других чисел уже не нужно, но если бы и было нужно, то стоит взять число 11110 не нарушая условия Фано)
Нельзя использовать кодовые слова, которые начинаются с 0 или с 10. 11 также не можем использовать, поскольку тогда мы больше не сможем взять никакое другое кодовое слово, а нам их нужно пять. Поэтому берём трёхзначное 110. По Условию Фано, если есть a, то ab существовать не может. Другими словами, мы не можем использовать начало с 0, а если возьмем 11, то начинать другие числа не сможем. Поэтому остается брать числа 110,1110,1111(последний берем без 0, т.к. он последний и других чисел уже не нужно, но если бы и было нужно, то стоит взять число 11110 не нарушая условия Фано)
var x, y: integer;
begin write ('x = ');
readln (x);
if x > 0 then y := x - 2 else if x = 0 then y := 0 else y := abs (x);
writeln ('y = ', y);
readln end.