Результаты поиска по запросу "prolog"

4 ответа

Заполнить список в SWI-Prolog

Я пытаюсь заполнить список заданной длины N числами 1,2,3, ..., N. Я думал, что это можно сделать так: create_list(N,L) :- length(L,N), forall(between(1,N,X), nth1(X,L,X)). Однако, похоже, это не работает. Кто-нибудь может сказать, что я ...

3 ответа

Как узнать количество инверсий в списке в Прологе

Как новичок в Прологе, я хочу выяснить, как можно посчитать количество инверсий в списке. Я знаю, как сгладить матрицу, используяflatten(Matrix, FlatMatrix), таким образом создавая переменную, которая содержит один набор элементов в ...

2 ответа

Нахождение самого длинного непрерывного подсписка в Прологе

Я новичок в Прологе, и это мой вопрос: У меня есть отсортированный список целых чисел без дубликатов, т. Е.[1,2,3,11,12,13,14,21,22,23,24,25] Я хочу написать предикат, который найдет самый длинный непрерывный подсписок элементов списка, то ...

ТОП публикаций

1 ответ

Сегрегирующие списки в Прологе

Мне очень трудно понять, как заставить мой код показывать мои отдельные списки, состоящие из четных и нечетных чисел. Я даже не уверен, чего не хватает моему пониманию. Я новичок в этом языке, очевидно, и должен использовать его в школе. Мой ...

7 ответов

Prolog Operator =: =

В Прологе есть несколько специальных операторов, одним из которых является «есть», однако недавно я натолкнулся на операторы =: =, и я понятия не имею, как это работает. Может ли кто-нибудь объяснить, что делает оператор, а также где я могу ...

6 ответов

Быстрая реализация вербальной арифметики в Прологе

Я уже сделал рабочий обобщенный вербальная арифметика [http://en.wikipedia.org/wiki/Verbal_arithmetic] решатель в Прологе, но это слишком медленно. Чтобы запустить простое выражение S E N D + M O R E = M O N E Y, требуется 8 минут. Может ...

5 ответов

Как умножить все элементы двух списков друг на друга в Прологе

Я думаю, как умножить все элементы двух списков друг на друга. Тогда я хочу поместить все результаты вList3. Например List1 = [1,3,5]. List2 = [2,6,7].List3 должен содержать [1x2, 1x6, 1x7, 3x2, 3x6, 3x7, 5x2, 5x6, 5x7]. В конце List3 = [2, 6, ...

5 ответов

Как удалить четные числа в Списке, используя Пролог

Мне нужно удалить все четные числа в первом списке и сохранить остальные во втором списке. Мой первый нерабочий подход был: remove_even([],[]). remove_even([H1|T1],[H2|T2]):- H1 mod 2 =:= 0, remove_even(T1,_). remove_even([H1|T1],[H2|T2]):- ...

8 ответов

Prolog: заменить элемент в списке по указанному индексу

Я хотел бы иметь предикат Prolog, который может заменить элемент в списке по указанному индексу. Пример % replace(+List,+Index,+Value,-NewList). ?- L=[a,b,c,d], replace(L,1,z,L2). L2 = [a,z,c,d] Я не знаю, как это сделать. Спасибо за вашу ...