« Suite de Conway » : différence entre les versions

Contenu supprimé Contenu ajouté
m Page liée à une redirection
Ligne 131 :
conwayLigneSuivante([E,E|L],[M,E|R]) :- conwayLigneSuivante([E|L],[N,E|R]), M is N+1.
conwayLigneSuivante([E,F|L],[1,E|R]) :- dif(E,F), conwayLigneSuivante([F|L],R).
</source>
</div>
 
=== En [[Ocaml]] ===
<div class="exemple">
<source lang="ocaml">
let rec suivant c l e = match l with
| [] -> [c; e]
| t::q when t = e -> suivant (c + 1) q t
| t::q -> c::e::(suivant 1 q t)
let conway n =
let rec aux n l =
print_newline (List.iter print_int l);
if n > 1 then aux (n - 1) (suivant 1 (List.tl l) (List.hd l)) in
aux n [1]
 
let () = conway 10
</source>
</div>