Tag: clpfd

CLP(FD), das steht für Constraint Logic Programming over Finite Domains, implementiert deklarative integer-Arithmetik in Prolog-Systemen. Es ist ein reiner und allgemeiner Ersatz der unteren Ebene arithmetische Prädikate und können Sie effizient lösen kombinatorischer Probleme, wie die Planung, Terminierung und Zuordnung der Aufgaben.

Prolog, aufteilen der Liste in zwei Listen

Anzahl der Antworten 5 Antworten
Hab ich ein problem mit Listen. Was ich tun müssen, ist split eine Liste [1,-2,3,-4], in zwei Listen [1,3] und [-2,-4]. Mein code sieht wie folgt aus: lists(,_,_). lists([X|Xs],Y,Z):- lists(Xs,Y,Z), X>0 -> append([X],Y,Y) ; append([X],Z,Z). und ich

Immer der kleinste Wert einer Liste

Anzahl der Antworten 4 Antworten
Ich bin auf der Suche nach den Minimalwert einer Liste (als Lernerfahrung, also ohne min). Mein Ansatz ist der folgende: minimo([X], X). minimo([X,Y|Tail], N):- (X > Y, minimo([Y,Tail], Y)); (X <= Y, minimo([X,Tail], X)). Dies gibt mir

Wie bekomme ich die Summe von zahlen in prolog?

Anzahl der Antworten 2 Antworten
Ich bin neu in prolog und ich mache einige übungen für die Praxis. Also ich versuche, die Summe der gegebenen zahlen in eine Liste. Ich versuche zu verwenden: my_last(X, [X]). my_last(X, [_|L]) :- my_last(X, L). (aus hier)

Lösung des N-Damen-Problem... Wie weit können wir gehen?

Anzahl der Antworten 9 Antworten
Des N-Damen-Problem: Dieses problem besagt, dass, gegeben ein Schachbrett der Größe N durch N ist, finden die verschiedenen Permutationen, in der N Damen auf dem Brett platziert werden, ohne dass ein bedrohen sich gegenseitig. Meine Frage ist:

Liste Länge in Prolog

Anzahl der Antworten 4 Antworten
Ich bin Anfänger in Prolog-Programmierung. Ich schrieb dieses Programm, um die Berechnung der Länge einer Liste. Warum ist unten das Programm falsch? length(0, ). length(L+l, H|T) :- length(L, T). Schrieb ich unter Programm und es funktioniert einwandfrei.

konvertieren von float zu integer in prolog

Anzahl der Antworten 1 Antworten
Wie konvertiert float zu integer in prolog? Habe ich versucht: ?- integer(truncate(sqrt(9))). false. ?- integer(round(sqrt(9))). false. InformationsquelleAutor Martynas | 2010-12-04

Einfaches prolog-Programm. Immer Fehler: >/2: Argumente werden nicht ausreichend instanziiert

Anzahl der Antworten 5 Antworten
Machte ich ein Prolog-Prädikat posAt(List1,P,List2), die testet, ob das element an position P von List1 und List2 gleich: posAt([X|Z], 1, [Y|W]) :- X = Y. posAt([Z|X], K, [W|Y]) :- K > 1, Kr is K - 1,

Prolog - Argumente sind nicht ausreichend instanziiert

Anzahl der Antworten 3 Antworten
Ich Schreibe ein kleines Programm, welches zählt, wie viele Elemente in einer Liste sind keine Nummern. Hier ist mein code: not_number(,0). not_number([X|T],R):- not(number(X)), R1 is R+1, not_number(T,R1). not_number([_|Tail],Result):- not_number(Tail,Result). Wenn ich die Ausführung von code wie dieser

Was sind die besten verwendet der Logik-Programmierung?

Anzahl der Antworten 7 Antworten
Von Logik-Programmierung, ich meine die sub-Paradigma der deklarativen Programmiersprachen. Verwechseln Sie diese Frage mit "Welche Probleme kann Sie lösen mit wenn-dann-sonst?" Einer Sprache wie Prolog ist sehr spannend, und es lohnt sich zu lernen, für den Willen

Prolog: ersetzen Sie ein element in eine Liste an einem bestimmten index

Anzahl der Antworten 8 Antworten
Ich würde gerne ein Prolog-Prädikat ersetzen kann, dass ein element in eine Liste an einem bestimmten index. Beispiel: % replace(+List,+Index,+Value,-NewList). ?- L=[a,b,c,d], replace(L,1,z,L2). L2 = [a,z,c,d] Ich weiß nicht, wie dies zu tun. Vielen Dank für Ihre

N-Queens Problem .. Wie weit können wir gehen?

Anzahl der Antworten 8 Antworten
Des N-Damen-Problem: Dieses problem besagt, dass, gegeben ein Schachbrett der Größe N durch N ist, finden die verschiedenen Permutationen, in der N Damen auf dem Brett platziert werden, ohne dass ein bedrohen sich gegenseitig. Meine Frage ist:

Prolog Operator =: =

Anzahl der Antworten 6 Antworten
Gibt es einige Besondere Operatoren in Prolog, einer von Ihnen ist "ist", aber, vor kurzem stieß ich auf die =:= Operatoren, und ich habe keine Ahnung, wie es funktioniert. Kann mir jemand erklären, was der Betreiber macht,

"Wem gehört der Zebra" programmatisch?

Anzahl der Antworten 14 Antworten
Edit: dieses Rätsel ist auch bekannt als "Einstein' s Riddle" Den Wer besitzt das Zebra (Sie können testen Sie die online-version hier) ist ein Beispiel für eine klassische Reihe von Rätseln, und ich Wette, dass die meisten