aboutsummaryrefslogtreecommitdiff
path: root/challenge-157
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-03-27 13:42:19 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-03-27 13:42:19 +0100
commit33488a71242d006be0d5941b6fa1a978890f45fd (patch)
tree5a2df5e4332eb2893db0a44276fac4a6d42c53a8 /challenge-157
parenta76313aa36ef3e2131d72995cce4c484a0cd6ecc (diff)
downloadperlweeklychallenge-club-33488a71242d006be0d5941b6fa1a978890f45fd.tar.gz
perlweeklychallenge-club-33488a71242d006be0d5941b6fa1a978890f45fd.tar.bz2
perlweeklychallenge-club-33488a71242d006be0d5941b6fa1a978890f45fd.zip
- Added solutions by Kueppo Wesley.
Diffstat (limited to 'challenge-157')
-rw-r--r--challenge-157/kueppo-wesley/perl/ch-1.pl19
-rw-r--r--challenge-157/kueppo-wesley/perl/ch-2.pl22
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-157/kueppo-wesley/perl/ch-1.pl b/challenge-157/kueppo-wesley/perl/ch-1.pl
new file mode 100644
index 0000000000..733d191bb2
--- /dev/null
+++ b/challenge-157/kueppo-wesley/perl/ch-1.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use Math::BigFloat;
+
+print "Input: ";
+my @vars = split / +/, <STDIN>;
+
+my($mul, $add, $frac) = (1, 0, 0);
+foreach (@vars) {
+ $mul *= $_;
+ $add += $_;
+ $frac += 1/$_;
+}
+
+$mul = Math::BigFloat->new(abs $mul);
+printf "AM = %.1f, GM = %.1f, HM = %.1f\n", $add/@vars, $mul->broot(scalar @vars), @vars/$frac;
diff --git a/challenge-157/kueppo-wesley/perl/ch-2.pl b/challenge-157/kueppo-wesley/perl/ch-2.pl
new file mode 100644
index 0000000000..f64f449431
--- /dev/null
+++ b/challenge-157/kueppo-wesley/perl/ch-2.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use Math::BigInt;
+
+print "Input: ";
+my $n = <STDIN>;
+
+if ($n > 2) {
+ my($x, $count, $did) = (Math::BigInt->new($n), 0, 0);
+ foreach (2..$n - 2) {
+ my $n_in_base__ = $x->to_base($_);
+ if ($n_in_base__ =~ /^(.)\g1{1, }$/) {
+ print "Output: 0\nSince $n" if (! $did);
+ print "\tin base $_ is $n_in_base__\n";
+ $did++;
+ }
+ }
+ print "Output : 1\n" if ($did == 0);
+}