Определить, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у - Pascal

Формулировка задачи:

У некоторого исполнителя, обрабатывающего числа, есть три команды: +1, +2, *3. Исполнитель получает на вход некоторое число и программу, представляющую собой некоторую последовательность вышеназванных команд. На выходе он выдает новое число - результат применения программы к исходному числу. Вам предлагается написать программу - анализатор данного исполнителя. На вход программе подаются два числа х и у, каждое из которых лежит в диапазоне от 0 до 200 (включая границы) и при этом гарантируется, что х меньше, либо равно у. Ваша программа должна подсчитать, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у. В качестве ответа нужно вывести одно целое число. Добавлено через 37 секунд Буду рад оперативной помощи, заранее спасибо!

Код к задаче: «Определить, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у - Pascal»

textual
var x,y,vars:integer;
 
procedure FindVariants(A, B : Integer);
begin
  if A > B then Exit
  else if A = B then Inc(vars)
  else begin
    FindVariants(A +1, B);
    FindVariants(A +2, B);
    FindVariants(A *3, B);
  end;
end;
begin
vars := 0;
readln(x,y);
FindVariants(X, Y);
WriteLn(vars);
end.

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

6   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ