0votos

Rombo de caracteres en Clojure

por AverageUser hace 1 año

Imprime rombo en el terminal. Funciona con todo los números impares mayores que 1.

Crear un rombo de caracteres a partir de un número, ese número tiene que ser apto para crear el rombo, por ejemplo 3, 5, 7, 9 que definen la altura en caracteres del rombo.

1
2
3
4
5
6
7
8
9
(defn rombo [n] 
  (let [a (/ (dec n) 2) 
        l "*" 
        b (repeat " ")] 
    (for [x (concat (reverse (range 0 (inc a))) (range 1 (inc a)))] 
      (println 
        (apply str 
         (concat (concat (conj (vec (take x b)) l) (vec (take (- a x) b))) 
                 (if (= x a) [] (conj (vec (take (- a x 1) b)) l)))))))) 
1 comentario
0votos

Escrito por AverageUser hace 1 año

(rombo 17)
        *
       * *
      *   *
     *     *
    *       *
   *         *
  *           *
 *             *
*               *
 *             *
  *           *
   *         *
    *       *
     *     *
      *   *
       * *
        *

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.