Определить предикат n_cif (C, N), истинный, когда C является N-ой справа цифрой числа Х - Prolog

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

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

определить предикат n_cif (C,N),истинный тогда и только тогда,когда C является N-ой справа цифрой числа Х

Решение задачи: «Определить предикат n_cif (C, N), истинный, когда C является N-ой справа цифрой числа Х»

textual
Листинг программы
predicates
dig(integer,integer,integer)
 
clauses
dig(X,1,M) :- M=X mod 10.
dig(X,N,M) :- N>1, X1=X div 10, N1=N-1, dig(X1,N1,M).

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

В данном коде определён предикат dig(X,N,M), который проверяет, является ли X N-ой справа цифрой числа Х. Код рекурсивно разбивает число на части до тех пор, пока не будет достигнуто число, которое можно поделить на 10 без остатка (это будет первая цифра числа). В этом случае проверяется, является ли остаток от деления равным N-ой цифре. Если это так, то предикат считается истинным. В противном случае, код продолжает разбивать число на части до тех пор, пока не будет достигнуто число, которое можно поделить на 10 без остатка. Если это так, то предикат считается ложным.

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


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

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

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