From 9522ceb405eaf8a4fa3ebf63df1d849256aa37b2 Mon Sep 17 00:00:00 2001 From: Tyler Wardhaugh Date: Fri, 18 Mar 2022 17:25:48 -0700 Subject: Ch156 (Clojure): Task 1 --- challenge-156/tyler-wardhaugh/clojure/src/c156/t1.clj | 8 +++++++- challenge-156/tyler-wardhaugh/clojure/test/c156/t1_test.clj | 7 +++++-- 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)))))) -- cgit