diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-03-31 18:04:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-31 18:04:17 +0100 |
| commit | 6635f0e8bb2b95ec066c79f834cbc78b2f2b1e8c (patch) | |
| tree | 137386bcf4a4ce5bbc72f91a73e0cbc141648509 | |
| parent | c5b3b7dc0cac75fe64ae9d43df7fc0fd995b0192 (diff) | |
| parent | 0dac2678bdd2a6ad03dbd3b620cef60febeb3184 (diff) | |
| download | perlweeklychallenge-club-6635f0e8bb2b95ec066c79f834cbc78b2f2b1e8c.tar.gz perlweeklychallenge-club-6635f0e8bb2b95ec066c79f834cbc78b2f2b1e8c.tar.bz2 perlweeklychallenge-club-6635f0e8bb2b95ec066c79f834cbc78b2f2b1e8c.zip | |
Merge pull request #5865 from wambash/challenge-week-158
Challenge week 158
| -rw-r--r-- | challenge-158/wambash/julia/ch-2.jl | 40 | ||||
| -rw-r--r-- | challenge-158/wambash/raku/ch-1.raku | 18 | ||||
| -rw-r--r-- | challenge-158/wambash/raku/ch-2.raku | 17 |
3 files changed, 75 insertions, 0 deletions
diff --git a/challenge-158/wambash/julia/ch-2.jl b/challenge-158/wambash/julia/ch-2.jl new file mode 100644 index 0000000000..43337aae9e --- /dev/null +++ b/challenge-158/wambash/julia/ch-2.jl @@ -0,0 +1,40 @@ +#!/usr/bin/env julia +using Lazy + +first_series_cuban_primes(n=1000) = @>> begin + Lazy.range() + map( y -> 3y^2 + 3y+1 ) + filter(Lazy.isprime) + takewhile( x -> x ≤ n ) +end + +function MAIN(n::Integer=1000) + first_series_cuban_primes(n) .|> println +end + +using Test + +function TEST() + @testset "Cuban primes" begin + @test first_series_cuban_primes() == list(7, 19, 37, 61, 127, 271, 331, 397, 547, 631, 919.) + end +end + +using ArgParse + +s = ArgParseSettings() + +@add_arg_table! s begin + "--test" + action = :store_true + "n" + arg_type = Int + default = 1000 +end +pa=parse_args(s) + +if pa["test"] + TEST() +else + MAIN(pa["n"]) +end diff --git a/challenge-158/wambash/raku/ch-1.raku b/challenge-158/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..bcecccbadf --- /dev/null +++ b/challenge-158/wambash/raku/ch-1.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +constant @additive-primes = ( + 2..∞ + andthen .grep: *.is-prime + andthen .grep: *.comb.sum.is-prime +); + + +multi MAIN (Bool :test($)!) { + use Test; + is @additive-primes.toggle(* ≤ 100), (2, 3, 5, 7, 11, 23, 29, 41, 43, 47, 61, 67, 83, 89); + done-testing; +} + +multi MAIN ($n=1000) { + put @additive-primes.toggle: * ≤ $n +} diff --git a/challenge-158/wambash/raku/ch-2.raku b/challenge-158/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..35923c2caa --- /dev/null +++ b/challenge-158/wambash/raku/ch-2.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +constant @first-series-cuban-primes = ( + 1..∞ + andthen .map: -> \x { 3*x² + 3*x +1}\ + andthen .grep: *.is-prime +); + +multi MAIN (Bool :test($)!) { + use Test; + is @first-series-cuban-primes.toggle(* ≤ 1000), (7, 19, 37, 61, 127, 271, 331, 397, 547, 631, 919,); + done-testing; +} + +multi MAIN ($n=1000) { + put @first-series-cuban-primes.toggle: * ≤ $n +} |
