ОЧЕНЬ Исполнитель преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Прибавить 2
2. Прибавить 3
3. Прибавить 5
Сколько существует программ, для которых при исходном числе 5 результатом является число 25, и при этом траектория вычислений содержит либо 13, либо 17, но не 13 и 17 одновременно?
(см. объяснение)
Объяснение:
var k: integer := 0;
function f(start, n, key: integer): integer;
begin
if((n<start) or (n=key)) then f:= 0
else if(n=start) then f:= 1
else begin
k:= f(start, n-2, key);
k+= f(start, n-3, key);
k+= f(start, n-5, key);
f:= k;
end;
end;
begin
writeln(f(5,13,0)*f(13,25,17)+f(5,17,13)*f(17,25,0));
end.
Задание выполнено!