Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Tau-function/Clojure/tau-function.clj
Normal file
21
Task/Tau-function/Clojure/tau-function.clj
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
(require '[clojure.string :refer [join]])
|
||||
(require '[clojure.pprint :refer [cl-format]])
|
||||
|
||||
(defn divisors [n] (filter #(zero? (rem n %)) (range 1 (inc n))))
|
||||
|
||||
(defn display-results [label per-line width nums]
|
||||
(doall (map println (cons (str "\n" label ":") (list
|
||||
(join "\n" (map #(join " " %)
|
||||
(partition-all per-line (map #(cl-format nil "~v:d" width %) nums)))))))))
|
||||
|
||||
(display-results "Tau function - first 100" 20 3
|
||||
(take 100 (map (comp count divisors) (drop 1 (range)))))
|
||||
|
||||
(display-results "Tau numbers – first 100" 10 5
|
||||
(take 100 (filter #(zero? (rem % (count (divisors %)))) (drop 1 (range)))))
|
||||
|
||||
(display-results "Divisor sums – first 100" 20 4
|
||||
(take 100 (map #(reduce + (divisors %)) (drop 1 (range)))))
|
||||
|
||||
(display-results "Divisor products – first 100" 5 16
|
||||
(take 100 (map #(reduce * (divisors %)) (drop 1 (range)))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue