Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (ns untitled2.core)
- (defn gen_seq
- [prefix, alphabet]
- (->> alphabet
- (filter (fn [x] (not= x (str (last prefix)))))
- (map (fn [x] (concat prefix x)))))
- (defn gen_seq_for_prefixes
- [prefixes, alphabet]
- (reduce
- (fn [memo, prefix] (concat memo (gen_seq prefix alphabet)))
- []
- prefixes))
- (defn -main
- []
- (let [input ["a" "b" "c"] N 2]
- (println
- (map
- (fn [seq] (apply str seq))
- (reduce
- (fn [memo, _] (gen_seq_for_prefixes memo input))
- input
- (take N (range)))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement