Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Prolog Script: less_than/3

Этот Prolog-скрипт определяет предикат less_than/3, который считает количество элементов в списке, меньших заданного числа.

Как работает

less_than/3 принимает три аргумента:

  • List — список чисел.
  • X — число, с которым сравниваются элементы списка.
  • Count — переменная, в которую записывается количество элементов, меньших X.

Правила

  1. Базовый случай: Если список пуст, количество элементов, меньших любого числа, равно 0:

    less_than([], _, 0).
  2. Рекурсия:

    • Если головной элемент списка (H) меньше числа X, добавляем 1 к результату для хвоста списка:
      less_than([H|T], X, Count) :-
          H < X,
          less_than(T, X, TailCount),
          Count is TailCount + 1.
    • Если головной элемент списка (H) больше или равен X, просто рекурсивно обрабатываем хвост:
      less_than([H|T], X, Count) :-
          H >= X,
          less_than(T, X, Count).

Примеры использования

Подсчет элементов, меньших числа

Запрос:

?- less_than([1, 4, 6, 8, 2], 5, Count).

Результат:

Count = 3.

Найти пороговое значение для заданного количества

Запрос:

?- less_than([1, 2, 3], X, 2).

Результат:

X = 3.

Проверить пустой список

Запрос:

?- less_than([], 5, Count).

Результат:

Count = 0.

Used by

Contributors

Languages