У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 1
2. прибавь 2
3. умножь на 4
Сколько есть программ, которые число 1 преобразуют в число 13? Ответ обоснуйте.
Всего вариантов: 298
Обоснование:
Var k : Integer;
Procedure Go(n : Integer; S : String);
Begin
If n=13 then
Begin
Writeln(S);
Inc(k);
end
else
If n<13 then
Begin
Go(n+1,S+1);
Go(n+2,S+2);
Go(n*4,S+3);
end;
end;
Begin
k:=0;
Go(1,);
Writeln(Всего вариантов: ,k);
end.
Оцени ответ
