Created
November 6, 2014 13:14
-
-
Save bendisposto/f7e700cb8fe5d9d3eae9 to your computer and use it in GitHub Desktop.
vl_06_11_2014
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (ns repl.freestyle) | |
| (set! *print-length* 50) | |
| (let [r (range 100 -101 -1)] | |
| [(first r) (last r)]) | |
| (let [r (range 0 1002 2)] | |
| [(first r) (last r)]) | |
| (filter even? (range 1002)) | |
| (defn sq [x] (* x x)) | |
| (take-while (fn [e] (< e 1001)) (map sq (range))) | |
| (drop-while (fn [e] (< e 100)) (range 1 200)) | |
| (for [x (range 1 1000)] [x (inc (sq x))]) | |
| (let [x (range 10)] | |
| (for [a x | |
| b x | |
| c x :when (< a b c)] [a b c b a])) | |
| (map (fn [[x y _]] [x y]) | |
| (filter (fn [[x y z]] z) (for [x [1 2 3] y [:a :b :c] z [true false]][x y z]))) | |
| (frequencies (for [x (range 1 4) y (range 1 4)] (* x y))) | |
| ;// Determine if Mp = 2p − 1 is prime | |
| ;Lucas–Lehmer(p) | |
| ; var s = 4 | |
| ; var M = 2p − 1 | |
| ; repeat p − 2 times: | |
| ; s = ((s × s) − 2) mod M | |
| ; if s = 0 return PRIME else return COMPOSITE | |
| (defn pot [x] (reduce *' 1 (repeat x 2))) | |
| (pot 5) | |
| (defn lamer [p] | |
| (when (zero? | |
| (let [M (dec (pot p))] | |
| (reduce (fn [s _] (-> s sq (- 2) (mod M))) 4 (range (- p 2))))) | |
| true)) | |
| (loop [p 1] | |
| (println p) | |
| (when (< p 10) (recur (inc p)))) | |
| (defn fakt [n] | |
| (loop [p n | |
| c 0] | |
| (if (even? p) | |
| (recur (/ p 2) (inc c)) | |
| c))) | |
| (defn perfect? [n] | |
| (when (<= 2 n) | |
| (let [ | |
| c (inc (fakt n)) | |
| a (pot (dec c)) | |
| b (dec (pot c)) | |
| ] (and (= n (* a b)) (lamer c))))) | |
| (perfect? 33550336) | |
| (take 5 (filter perfect? (filter even? (range)))) | |
| (def remove-duplicates distinct) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment