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

У исполнителя калькулятор две команды, которым присвоены номера: 1) прибавь 1; 2) умножь на 4. Напишите программу, которая вычисляет, сколько существует различных программ, преобразующих число M в число N, оба числа вводятся с клавиатуры.
Гость
Ответ(ы) на вопрос:
Гость
{работает для натуральных чисел} 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы