Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. (define words
  2. (lambda (n l)
  3. (if (zero? n)
  4. '(())
  5. (words-aux 1 n '(()) l))))
  6.  
  7. ; Si i et n sont des naturels tel que 0 <= i <= n
  8. ; u et l sont respectivement la liste des mots de taille i et l'aphabet disponible
  9. ; alors (words-aux i n u l) retourne la liste des mots de taille i
  10. (define words-aux
  11. (lambda (i n u l)
  12. (if (> i n)
  13. u
  14. (words-aux (+ 1 i) n (apply append (map (lambda (x) (insert-list x '(a b c))) u)) l))))
  15.  
  16. ; Si u et l sont des listes
  17. ; alors (insert-list u l) retourne la liste des listes ou chaque élément de l a été ajouté à la fin de u
  18. (define insert-list
  19. (lambda (u l)
  20. (if (null? l)
  21. '()
  22. (cons (append u (list (car l))) (insert-list u (cdr l))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement