diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2021-07-04 16:47:28 -0400 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2021-07-04 16:47:28 -0400 |
| commit | bbf90db88eacfac6840509f26ef358b73e5bdeeb (patch) | |
| tree | a4328b55399cbfbe7458b0bbd32f270085fffe4e | |
| parent | df8c74b809e21541bef4ee9c5aad9b43f465ad0a (diff) | |
| download | perlweeklychallenge-club-bbf90db88eacfac6840509f26ef358b73e5bdeeb.tar.gz perlweeklychallenge-club-bbf90db88eacfac6840509f26ef358b73e5bdeeb.tar.bz2 perlweeklychallenge-club-bbf90db88eacfac6840509f26ef358b73e5bdeeb.zip | |
Challenge 119 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-119/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-119/jaldhar-h-vyas/perl/ch-1.pl | 13 | ||||
| -rwxr-xr-x | challenge-119/jaldhar-h-vyas/perl/ch-2.pl | 16 | ||||
| -rwxr-xr-x | challenge-119/jaldhar-h-vyas/raku/ch-1.raku | 12 | ||||
| -rwxr-xr-x | challenge-119/jaldhar-h-vyas/raku/ch-2.sh | 1 |
5 files changed, 43 insertions, 0 deletions
diff --git a/challenge-119/jaldhar-h-vyas/blog.txt b/challenge-119/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..9b34185ba3 --- /dev/null +++ b/challenge-119/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2021/07/perl_weekly_challenge_week_119.html diff --git a/challenge-119/jaldhar-h-vyas/perl/ch-1.pl b/challenge-119/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..e8c03576bd --- /dev/null +++ b/challenge-119/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,13 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +my $N = shift // die "Must specify an integer.\n"; + +my $n = sprintf "%b", $N; +if ((length $n) % 8 != 0) { + $n = 0 x (8 - (length $n) % 8) . $n; +} + +say oct '0b' . join q{}, reverse (unpack '(A4)*', $n); + diff --git a/challenge-119/jaldhar-h-vyas/perl/ch-2.pl b/challenge-119/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..e594aee380 --- /dev/null +++ b/challenge-119/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +my $N = shift // die "Must specify an integer.\n"; +my $n = 0; +my $nth = 0; + +while (++$n) { + if ( $n =~ /^ [1-3]+ $/x && $n !~ /^ 11/x ) { + if (++$nth == $N) { + say $n; + last; + } + } +}
\ No newline at end of file diff --git a/challenge-119/jaldhar-h-vyas/raku/ch-1.raku b/challenge-119/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..9e05b654fa --- /dev/null +++ b/challenge-119/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/raku + +sub MAIN( + Int $N #= an integer +) { + my $n = $N.base(2); + if $n.chars !%% 8 { + $n = 0 x (8 - $n.chars % 8) ~ $n; + } + + $n.comb(4).reverse.join.parse-base(2).say; +}
\ No newline at end of file diff --git a/challenge-119/jaldhar-h-vyas/raku/ch-2.sh b/challenge-119/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..5cfdfb39b8 --- /dev/null +++ b/challenge-119/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1 @@ +raku -e '(1 .. *).grep({ /^ <[1 .. 3]>+ $/ && !/^ 11/ })[@*ARGS[0] - 1].say' $@
\ No newline at end of file |
