Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Vampire-number/Clojure/vampire-number.clj
Normal file
23
Task/Vampire-number/Clojure/vampire-number.clj
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
(defn factor-pairs [n]
|
||||
(for [x (range 2 (Math/sqrt n))
|
||||
:when (zero? (mod n x))]
|
||||
[x (quot n x)]))
|
||||
|
||||
(defn fangs [n]
|
||||
(let [dlen (comp count str)
|
||||
half (/ (dlen n) 2)
|
||||
halves? #(apply = (cons half (map dlen %)))
|
||||
digits #(sort (apply str %))]
|
||||
(filter #(and (halves? %)
|
||||
(= (sort (str n)) (digits %)))
|
||||
(factor-pairs n))))
|
||||
|
||||
(defn vampiric? [n]
|
||||
(let [fangs (fangs n)]
|
||||
(if (empty? fangs) nil [n fangs])))
|
||||
|
||||
(doseq [n (take 25 (keep vampiric? (range)))]
|
||||
(prn n))
|
||||
|
||||
(doseq [n [16758243290880, 24959017348650, 14593825548650]]
|
||||
(println (or (vampiric? n) (str n " is not vampiric."))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue