Дано натуральное число n Дописать к нему цифру k в конец и в начало - Prolog

Узнай цену своей работы

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

Дано натуральное число n. Дописать к нему цифру k в конец и в начало. (Visual Prolog)

Решение задачи: «Дано натуральное число n Дописать к нему цифру k в конец и в начало»

textual
Листинг программы
predicates
f(integer,integer,integer,integer,integer)
task(integer,integer,integer)
 
clauses
f(N,K,P,NN,R) :- N<10, R=NN*10+K+(K*P*10), !.
f(N,K,P,NN,R) :- N1=N/10, P1=P*10, f(N1,K,P1,NN,R).
 
task(N,K,R) :- f(N,K,10,N,R).

Объяснение кода листинга программы

В коде представлено решение задачи добавления цифры в начало и конец числа на языке Prolog. В этом коде используется два предиката:

  1. f(integer,integer,integer,integer,integer) - данный предикат выполняет добавление цифры в начало и конец числа.
  2. task(integer,integer,integer) - данный предикат выполняет задачу, описанную в постановке. Основная логика кода реализована в предикате f, который имеет пять аргументов: N, K, P, NN и R. В первом правильном утверждении предиката f(N,K,P,NN,R) :- N<10, R=NN10+K+(KP10), !. происходит добавление цифры в конец числа. В этом случае число N делится на 10 и результат умножается на 10, затем к результату прибавляется значение K, а затем значение K умноженное на значение P. Во втором правильном утверждении предиката f(N,K,P,NN,R) :- N1=N/10, P1=P10, f(N1,K,P1,NN,R). происходит деление числа N на 10, затем результат умножается на 10 и к нему добавляется значение P, после чего вызывается рекурсивная функция f с новыми значениями N1, K, P1, NN и R. В цели задачи task(N,K,R) :- f(N,K,10,N,R). происходит вызов функции f с аргументами N, K, 10, N и R. Здесь мы говорим, что хотим добавить цифру в начало и конец числа, при этом само число не изменяется. Поэтому мы передаем в функцию f значение N, которое является исходным числом, значение K, которое определяет цифру, которую мы хотим добавить в начало числа, и значение 10, которое говорит функции f, что мы хотим добавить цифру в конец числа. Результатом выполнения этого утверждения будет число, в начало и конец которого добавлена заданная цифра. Таким образом, в результате выполнения данного кода будет получено число, в начало и конец которого добавлена заданная цифра.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы