(*****************Códigos de Gray *****************) (******http://en.wikipedia.org/wiki/Gray_code******) (** Método "reflex and prefix" **) (** gray n = a lista ordenada dos códigos de gray de tamanho n (de tam. 2^n)**) open List let n = read_int () ;; let add_one st = "1"^st let add_zero st = "0"^st let rec gray_aux n acc = if n <= 0 then acc else gray_aux (n-1) ((map add_zero acc)@(map add_one (rev acc))) let gray n = if n <0 then failwith "negative argument" else gray_aux n [""] let () = iter print_endline (gray n)
This document was generated using caml2html