diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-07-03 23:12:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-03 23:12:42 +0100 |
| commit | 155323958f9b71fb7ebffbeda5fdf8c41cc53d08 (patch) | |
| tree | e18d4ff59cbf3492447dcecdb5183205ff38d305 | |
| parent | b9182f58d2da6eac651178983b8a57eaa165e3a3 (diff) | |
| parent | de686a1205fe908760e693e23694b71b37976cad (diff) | |
| download | perlweeklychallenge-club-155323958f9b71fb7ebffbeda5fdf8c41cc53d08.tar.gz perlweeklychallenge-club-155323958f9b71fb7ebffbeda5fdf8c41cc53d08.tar.bz2 perlweeklychallenge-club-155323958f9b71fb7ebffbeda5fdf8c41cc53d08.zip | |
Merge pull request #4404 from lancew/119
Task 2 in Perl
| -rw-r--r-- | challenge-119/lance-wicks/perl/ch-2.pl | 13 | ||||
| -rw-r--r-- | challenge-119/lance-wicks/perl/lib/Sequence.pm | 23 | ||||
| -rw-r--r-- | challenge-119/lance-wicks/perl/t/02-seq.t | 7 |
3 files changed, 43 insertions, 0 deletions
diff --git a/challenge-119/lance-wicks/perl/ch-2.pl b/challenge-119/lance-wicks/perl/ch-2.pl new file mode 100644 index 0000000000..c8ec9fe6a3 --- /dev/null +++ b/challenge-119/lance-wicks/perl/ch-2.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; + +use lib './lib'; +use Sequence; +my $seq = Sequence->new; + +my $n = $ARGV[0]; +my $res = $seq->no_one_on_one($n); + +print "Input \$N = $n\n"; +print "Output: $res\n"; + diff --git a/challenge-119/lance-wicks/perl/lib/Sequence.pm b/challenge-119/lance-wicks/perl/lib/Sequence.pm new file mode 100644 index 0000000000..a938d06b92 --- /dev/null +++ b/challenge-119/lance-wicks/perl/lib/Sequence.pm @@ -0,0 +1,23 @@ +package Sequence; + +use Moo; + +sub no_one_on_one { + my ( $self, $n ) = @_; + + my @seq; + + my $x = 0; + while (1) { + $x++; + next unless $x =~ /^[123]/; + next if $x =~ /[4567890]/g; + next if $x =~ /11/g; + push @seq, $x; + last if @seq > $n - 1; + } + return $seq[-1]; +} + +1; + diff --git a/challenge-119/lance-wicks/perl/t/02-seq.t b/challenge-119/lance-wicks/perl/t/02-seq.t new file mode 100644 index 0000000000..86865e8047 --- /dev/null +++ b/challenge-119/lance-wicks/perl/t/02-seq.t @@ -0,0 +1,7 @@ +use Test2::V0 -target => Sequence; + +is $CLASS->no_one_on_one(5), 13, "Example 1"; +is $CLASS->no_one_on_one(10), 32, "Example 2"; +is $CLASS->no_one_on_one(60), 2223, "Example 3"; + +done_testing; |
