У исполнителя калькулятор две команды, которым присвоены номера:
1) прибавь 1;
2) умножь на 4.
Напишите программу, которая вычисляет, сколько существует различных программ, преобразующих число M в число N, оба числа вводятся с клавиатуры.

Ответы

Ответ дал: Segrif
0
{работает для натуральных чисел}

function f(m,n : integer): integer;
begin
 if n = m then
   f := 1
 else
 if n < m then
   f := 0
 else
 if (n mod 4 = 0) and (n <> 0) then
   f := f(m,n-1) + f(m,n div 4)
 else
   f := f(m,n-1)
end;

var
 m,n : integer;
begin
 read(m,n);
 writeln(f(m,n))
end.
Вас заинтересует