Round-robin tournament schedule: Difference between revisions

no edit summary
m (syntax highlighting fixup automation)
No edit summary
Line 113:
2 12 11 10 9 8
</pre>
=={{header|Common Lisp}}==
''Draft''
 
====Program====
 
<syntaxhighlight lang="lisp">;; 221130 Draft
 
(defun planning-tournoi (joueurs &aux (stop ()))
(labels ((tour (sac &optional (lst ()) &aux (duo ()))
(unless (intersection lst stop :test #'equal)
(cond ((null sac)
(print (reverse lst)))
(setf stop (nconc stop lst))
(t (dolist (i sac)
(dolist (j (rest (member i sac)))
(setf duo (list i j))
(tour (set-difference sac duo) (list* duo lst)))))))))
(tour joueurs)))</syntaxhighlight>
 
====Execution====
 
<pre>(planning-tournoi '(A B C D E *))</pre>
 
{{out}}
<pre>((A B) (C D) (E *))
((A C) (B E) (D *))
((A D) (B *) (C E))
((A E) (B D) (C *))
((A *) (B C) (D E))</pre>
 
<pre>(planning-tournoi '(1 2 3 4 5 6 7 8 9 10 11 12))</pre>
 
{{out}}
<pre>((1 2) (3 4) (5 6) (7 8) (9 10) (11 12))
((1 3) (2 4) (5 7) (6 8) (9 11) (10 12))
((1 4) (2 3) (5 8) (6 7) (9 12) (10 11))
((1 5) (2 6) (3 9) (4 10) (7 11) (8 12))
((1 6) (2 5) (3 10) (4 9) (7 12) (8 11))
((1 7) (2 8) (3 11) (4 12) (5 9) (6 10))
((1 8) (2 7) (3 12) (4 11) (5 10) (6 9))
((1 9) (2 10) (3 7) (4 8) (5 11) (6 12))
((1 10) (2 9) (3 8) (4 7) (5 12) (6 11))
((1 11) (2 12) (3 5) (4 6) (7 9) (8 10))
((1 12) (2 11) (3 6) (4 5) (7 10) (8 9))</pre>
 
''cyril nocton (cyril.nocton@gmail.com) w/ google translate''
=={{header|FreeBASIC}}==
<syntaxhighlight lang="freebasic">function nob( n as uinteger, i as uinteger, bye as boolean ) as string
422

edits