From d52a62e76494ca56a9a50189f5c2751885f96d5e Mon Sep 17 00:00:00 2001 From: Alexander Pankoff Date: Tue, 25 Jan 2022 15:15:34 +0100 Subject: Add solution for challenge 149 task 2 --- challenge-149/alexander-pankoff/perl/ch-2.pl | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 challenge-149/alexander-pankoff/perl/ch-2.pl diff --git a/challenge-149/alexander-pankoff/perl/ch-2.pl b/challenge-149/alexander-pankoff/perl/ch-2.pl new file mode 100755 index 0000000000..fc0116d720 --- /dev/null +++ b/challenge-149/alexander-pankoff/perl/ch-2.pl @@ -0,0 +1,65 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use feature qw'say state signatures'; +use bignum; +no warnings qw'experimental::signatures'; + +# TASK #2 › Largest Square +# Submitted by: Roger Bell_West +# +# Given a number base, derive the largest perfect square with no repeated digits and return it as a string. (For base>10, use ‘A’..‘Z’.) +# Example: +# +# f(2)="1" +# f(4)="3201" +# f(10)="9814072356" +# f(12)="B8750A649321" + +use List::Util qw(sum0 first uniq); + +run() unless caller(); + +sub run() { + + my ($N) = @ARGV; + + if ( !$N || $N !~ m/^\d+$/ || $N < 2 || $N > 36 ) { + die <