Advertisement
Guest User

Untitled

a guest
Jul 14th, 2015
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defn fb-transformer [first-mod sec-mod number]
  2.   (cond
  3.    (and (= 0 (mod number first-mod)) (= 0 (mod number sec-mod))) "FB"
  4.    (= 0 (mod number first-mod)) "F"
  5.    (= 0 (mod number sec-mod)) "B"
  6.    :else number))
  7.  
  8. (defn str-line->int-vec [line]
  9.   (let [str-vec (clojure.string/split line #" ")]
  10.     (mapv read-string str-vec)))
  11.  
  12. (defn fb [line]
  13.   (let [int-vec (str-line->int-vec line)
  14.         first-mod (first int-vec)
  15.         sec-mod (second int-vec)
  16.         numbers (range 1 (inc (last int-vec)))]
  17.   (mapv #(fb-transformer first-mod sec-mod %) numbers)))
  18.  
  19. (with-open [rdr (clojure.java.io/reader fp)]
  20.   ; Read each line ignoring empty ones
  21.   (doseq [line (remove empty? (line-seq rdr))]
  22.     (println (clojure.string/join " " (fb line)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement