diff options
| -rwxr-xr-x | challenge-090/feng-chang/raku/ch-1.raku | 11 | ||||
| -rwxr-xr-x | challenge-090/feng-chang/raku/ch-2.raku | 20 |
2 files changed, 31 insertions, 0 deletions
diff --git a/challenge-090/feng-chang/raku/ch-1.raku b/challenge-090/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..d25e180f77 --- /dev/null +++ b/challenge-090/feng-chang/raku/ch-1.raku @@ -0,0 +1,11 @@ +#!/bin/env raku + +my \DNA = 'GTAAACCCCTTTTCATTTAGACAGATCGACTCCTTATCCATTCTCAGAGATGTGTTGCTGGTCGCCG'; + +# Task 1 +my %nuclei-count; +DNA.comb.map({ ++%nuclei-count{ $_ } }); +put "nucleiobase count:\n\t", %nuclei-count.gist; + +# Task 2 +put "the complementary sequence:\n\t{ with DNA { TR/TAGC/ATCG/ } }"; diff --git a/challenge-090/feng-chang/raku/ch-2.raku b/challenge-090/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..eb089b92c9 --- /dev/null +++ b/challenge-090/feng-chang/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/bin/env raku + +sub MAIN(UInt:D $A, UInt:D $B) { + my ($a, $b) = ($A, $B); + my ($aw, $bw) = ($a.chars, ($b * $a).chars); + my @R; + + repeat { + put "{ $a.fmt("%{ $aw }d") } & { $b.fmt("%{ $bw }d") }"; + @R.push([$a, $b]); + + $a div= 2; + $b *= 2; + } while $a > 0; + + put '-' x ($aw + $bw + 3); + + my @S = @R.grep(*.[0] !%% 2).map(*.[1]); + put @S.join(' + '), ' = ', @S.sum; +} |
