aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Wilson <steven1170@zoho.eu>2021-06-29 17:21:19 +0100
committerSteven Wilson <steven1170@zoho.eu>2021-06-29 17:21:19 +0100
commit9129598622d4730bcc36f5f91ba912fa0e91aefe (patch)
treec3e45f755af383fe9a8c8572ec8a65311c268abf
parent5dec46e3f05ffa4b82a9a3de75fc4dbdeb7da3ad (diff)
downloadperlweeklychallenge-club-9129598622d4730bcc36f5f91ba912fa0e91aefe.tar.gz
perlweeklychallenge-club-9129598622d4730bcc36f5f91ba912fa0e91aefe.tar.bz2
perlweeklychallenge-club-9129598622d4730bcc36f5f91ba912fa0e91aefe.zip
add solution week 119 challenge 2 in perl
-rwxr-xr-xchallenge-119/steven-wilson/perl/ch-2.pl27
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-119/steven-wilson/perl/ch-2.pl b/challenge-119/steven-wilson/perl/ch-2.pl
new file mode 100755
index 0000000000..7e1b32b6ee
--- /dev/null
+++ b/challenge-119/steven-wilson/perl/ch-2.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/env perl
+# TASK #2 > Sequence without 1-on-1
+# 1, 2, 3, 12, 13, 21, 22, 23, 31, 32, 33, 121, 122, 123, 131, ...
+
+use strict;
+use warnings;
+use Test::More;
+
+ok( get_nth_element(5) == 13, 'Input: $N = 5 Output: 13' );
+ok( get_nth_element(10) == 32, 'Input: $N = 10 Output: 32' );
+ok( get_nth_element(60) == 2223, 'Input: $N = 60 Output: 2223' );
+done_testing();
+
+sub get_nth_element {
+ my $nth = shift;
+ my $number = 1;
+ my $element = 1;
+ while ( $element != $nth ) {
+ $number++;
+ if ( $number =~ m/^[1-3]+$/ ) {
+ if ( !( $number =~ m/11/ ) ) {
+ $element++;
+ }
+ }
+ }
+ return $number;
+}