Определить, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у - Pascal
Формулировка задачи:
У некоторого исполнителя, обрабатывающего числа, есть три команды: +1, +2, *3. Исполнитель получает на вход некоторое число и программу, представляющую собой некоторую последовательность вышеназванных команд. На выходе он выдает новое число - результат применения программы к исходному числу. Вам предлагается написать программу - анализатор данного исполнителя. На вход программе подаются два числа х и у, каждое из которых лежит в диапазоне от 0 до 200 (включая границы) и при этом гарантируется, что х меньше, либо равно у. Ваша программа должна подсчитать, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у. В качестве ответа нужно вывести одно целое число.
Буду рад оперативной помощи, заранее спасибо!
Решение задачи: «Определить, сколько возможно построить различных программ для исполнителя, которые преобразуют число х в у»
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.
Объяснение кода листинга программы
- Переменные
x
,y
иvars
объявлены как целочисленные типы данных. - Функция
FindVariants
принимает два целочисленных аргументаA
иB
. - Внутри функции
FindVariants
выполняется проверка условияA > B
. Если это условие истинно, то функция завершается. - Если условие
A > B
ложно, то проверяется условиеA = B
. Если оно истинно, то значение переменнойvars
увеличивается на единицу. - Если условие
A = B
ложно, то вызываются рекурсивно три раза функцииFindVariants
, передавая в качестве аргументовA + 1
,A + 2
иA * 3
. - В основной части программы считываются значения переменных
x
иy
с помощью функцииreadln
. - Затем вызывается функция
FindVariants
с аргументамиx
иy
. - Значение переменной
vars
выводится на экран с помощью функцииWriteLn
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д