Ciao a tutti!
Ho un problema con un programmino prolog...(prime esperienze)...
Ho dichiarati come fatti:
boughtSongs(mario,[bella,ciaoMamma]).
boughtSongs(anna,[ciaoMamma,happy]).
boughtSongs(marco,[happy,ciaoMamma]).
In pratica l'utente mario ha acquistato 2 canzoni (bella e ciaoMamma)..stesso vale per gli altri utenti...
Data la funzione:
distance(X,N) dove X è il nome dell'utente, devo trovare l'utente che ha meno acquisti differenti da X e restituire questo numero in N, come se fosse una distanza delle preferenze dei due utenti.
per farmi capire:
distance(marco,N) restituirà 0 in quanto anna ha acquistato le sue stesse canzoni;
distance(mario,N) resituirà 1 in quanto l'utente con meno canzoni diverse dalle sue ne ha 1 diversa.
se un utente non ha acquistato alcuna canzone sarà restituito 0.
distance(X,0) :- boughtSongs(X,[]).
Spero qualcuno ne capisca più di me....nn ci vuole poi molto..
Grazie anticipatamente.