diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-22 02:10:06 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-22 02:10:06 +0100 |
| commit | d7eab18bd338f7e20cbdf1deadc61169fd902f27 (patch) | |
| tree | 22b1a5c30eae47077a18f3445221da7d72880035 /challenge-079 | |
| parent | 3c6bacdb27568a0b3708e032c79f80b6999b02b9 (diff) | |
| download | perlweeklychallenge-club-d7eab18bd338f7e20cbdf1deadc61169fd902f27.tar.gz perlweeklychallenge-club-d7eab18bd338f7e20cbdf1deadc61169fd902f27.tar.bz2 perlweeklychallenge-club-d7eab18bd338f7e20cbdf1deadc61169fd902f27.zip | |
- Added Raku solution to the "Count Set Bits" task.
Diffstat (limited to 'challenge-079')
| -rw-r--r-- | challenge-079/mohammad-anwar/raku/ch-1.raku | 23 | ||||
| -rw-r--r-- | challenge-079/mohammad-anwar/raku/ch-1.t | 26 |
2 files changed, 49 insertions, 0 deletions
diff --git a/challenge-079/mohammad-anwar/raku/ch-1.raku b/challenge-079/mohammad-anwar/raku/ch-1.raku new file mode 100644 index 0000000000..ad0a1be4de --- /dev/null +++ b/challenge-079/mohammad-anwar/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 079 +# +# Task #1: Count Set Bits +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-079 +# + +use v6.d; + +sub MAIN(Int :$N = 4) { count-set-bits($N).say } + +# +# +# SUBROUTINE + +sub count-set-bits(Int $n) { + my $c = 0; + (1..$n).map( -> $i { $c += [+] $i.base(2).comb; }); + return $c % 1000000007; +} diff --git a/challenge-079/mohammad-anwar/raku/ch-1.t b/challenge-079/mohammad-anwar/raku/ch-1.t new file mode 100644 index 0000000000..00dacde3c3 --- /dev/null +++ b/challenge-079/mohammad-anwar/raku/ch-1.t @@ -0,0 +1,26 @@ +#!/usr/bin/env raku + +# +# Perl Weekly Challenge - 079 +# +# Task #1: Count Set Bits +# +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-079 +# + +use Test; + +is count-set-bits(4), 5, "testing example 1"; +is count-set-bits(3), 4, "testing example 2"; + +done-testing; + +# +# +# SUBROUTINE + +sub count-set-bits(Int $n) { + my $c = 0; + (1..$n).map( -> $i { $c += [+] $i.base(2).comb; }); + return $c % 1000000007; +} |
