Hier ist ein Überblick über mein SWI-Prolog-Programm:Verwendungsbeschränkungen verdinglichten 3 Nummern machen in Folge
:- use_module(library(clpfd)).
consec1(L) :-
L=[L1,L2,L3,L4,L5,L6,L7,L8,L9],
L ins 1..9,
...,
abs(L5-L4)#=1,
all_different(L),
labeling([],L)
abs(L5-L4)#=1
macht L5
und L4
nebeneinander. Wenn ich drei Zahlen nebeneinander machen möchte, z.B. L3
, L4
und L5
, wie könnte ich dazu komprimierte Einschränkungen verwenden?
z. L3=4
, L5=5
, L4=6
oder L4=7
, L5=8
, L3=9
Mit "konsekutiv" meinen Sie z. '(L2 # = L1 + 1 #/\ L3 # = L2 + 1) # \/(L2 # = L1-1 #/\ L3 # = L2-1)'? – repeat
Sollte diese Beziehung auch für alle 3 benachbarten Mitglieder von L gelten --- oder nur für einige/irgendwelche? – repeat