Bonjour, je veux realiser une fonction pour affichier tout les tuple et triplet de N
par example: test(4,C)
il doit me repondre
=>list de toue les elements[4,3,2,1]
=>tout les triplet
=>tout les tuplet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [4,3,2] true ? a[4,3,1] true[4,2,1] true[3,2,1]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [4,3] true ? a[4,2] true[4,1] true[3,2] true[3,1] true[2,1]
mais, maintenant je utiliser une seul fonction pour creer des tuplets et triplets
ca me donner une mauvais resultat, comment je dois modifer mon programme?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 | ?- test(4,C). [4,3,2,1][4,3,2][4,3] true ? a[4,2] true[4,1] true[3,2] true[3,1] true[2,1] true[4,3,1][4,3] true[4,2] true[4,1] true[3,2] true[3,1] true[2,1] true[4,2,1][4,3] true[4,2] true[4,1] true[3,2] true[3,1] true[2,1] true[3,2,1][4,3] true[4,2] true[4,1] true[3,2] true[3,1] true[2,1] true (4 ms) no
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 list(0,[]). list(N,[N|L]):- N > 0, N1 is N-1, list(N1,L). permutations(0,_,[]). permutations(N,[X|T],[X|Comb]):- N>0, N1 is N-1, permutations(N1,T,Comb). permutations(N,[_|T],Comb):- N>0, permutations(N,T,Comb). test(N,C):- list(N,L), write(L), permutations(3,L,Triple), write(Triple), permutations(2,L,Tuple), write(Tuple).
Partager