aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Wardhaugh <tyler.wardhaugh@gmail.com>2022-03-18 17:25:48 -0700
committerTyler Wardhaugh <tyler.wardhaugh@gmail.com>2022-03-18 17:25:48 -0700
commit9522ceb405eaf8a4fa3ebf63df1d849256aa37b2 (patch)
tree735917a52983cf4e50d2376c9c7af7fbb79f2514
parentb4996ab769ec193cea59e054ab2282e972cd3690 (diff)
downloadperlweeklychallenge-club-9522ceb405eaf8a4fa3ebf63df1d849256aa37b2.tar.gz
perlweeklychallenge-club-9522ceb405eaf8a4fa3ebf63df1d849256aa37b2.tar.bz2
perlweeklychallenge-club-9522ceb405eaf8a4fa3ebf63df1d849256aa37b2.zip
Ch156 (Clojure): Task 1
-rw-r--r--challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj8
-rw-r--r--challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj7
2 files changed, 12 insertions, 3 deletions
diff --git a/challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj b/challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj
index c7c7c09117..de60ed1c90 100644
--- a/challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj
+++ b/challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj
@@ -1,6 +1,12 @@
(ns c156.t1
(:require [clojure.pprint :refer [cl-format]]))
+(defn pernicious?
+ [n]
+ (let [ones (BigInteger/valueOf (.bitCount (BigInteger/valueOf n)))]
+ (.isProbablePrime ones 1000)))
+
(defn -main
"Run Task 1."
- [& args])
+ [& args]
+ (cl-format true "~{~a~^, ~}~%" (->> (range) (filter pernicious?) (take 10))))
diff --git a/challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj b/challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj
index fb4361c2c7..c74bd3fa40 100644
--- a/challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj
+++ b/challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj
@@ -1,7 +1,10 @@
(ns c156.t1-test
(:require [clojure.test :refer [deftest is testing]]
- [c156.t1 :as t1]))
+ [c156.t1 :refer [pernicious?]]))
+
+; Expected Output, from https://theweeklychallenge.org/blog/perl-weekly-challenge-156/#TASK1
+(def EXPECTED [3, 5, 6, 7, 9, 10, 11, 12, 13, 14])
(deftest task-1
(testing "Task 1 produces the correct result"
- ))
+ (is (= EXPECTED (->> (range) (filter pernicious?) (take 10))))))