I am writing a solution to working out distances between numbers in a list using recursion, but have been struggling with getting the intended output.
I am trying to get a list of lists into a single list, but attempts at using flatten and append/2 aren't working. I have tried for hours, and keep going around in circles, can someone tell me what i'm doing wrong please?
:- use_module(library(clpfd)).
difference([],_,[]).
differwnce([L|Ls],X,[DST|Ds]) :-
DST #= abs(X - L),
difference(Ls,X,Ds).
differences[],[]).
differences([L|Ls], [DST|Tail]) :-
difference(Ls,X,DST),
differences(Ls, Tail).
Here is the intended input and output:-
?- differences([1,2,4,9],Ds).
Ds = [1,3,8,2,7,5].
Current Output:
Ds = [[1,3,8],[2,7],[5],[]].
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…