From e6dce995af5d10ce7def008b23934fd58e56a6b1 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 12 Aug 2019 03:05:28 +0100 Subject: - Renamed script. --- challenge-020/veesh-goldman/perl5/ch-01.sh | 3 --- challenge-020/veesh-goldman/perl5/ch-02.pl | 25 ------------------------- challenge-020/veesh-goldman/perl5/ch-1.sh | 3 +++ challenge-020/veesh-goldman/perl5/ch-2.pl | 25 +++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 28 deletions(-) delete mode 100755 challenge-020/veesh-goldman/perl5/ch-01.sh delete mode 100755 challenge-020/veesh-goldman/perl5/ch-02.pl create mode 100755 challenge-020/veesh-goldman/perl5/ch-1.sh create mode 100755 challenge-020/veesh-goldman/perl5/ch-2.pl diff --git a/challenge-020/veesh-goldman/perl5/ch-01.sh b/challenge-020/veesh-goldman/perl5/ch-01.sh deleted file mode 100755 index 14c1ada7e3..0000000000 --- a/challenge-020/veesh-goldman/perl5/ch-01.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -perl -pE'split / /, s/(.) \g1*/$& /gx' diff --git a/challenge-020/veesh-goldman/perl5/ch-02.pl b/challenge-020/veesh-goldman/perl5/ch-02.pl deleted file mode 100755 index 31c6dedd42..0000000000 --- a/challenge-020/veesh-goldman/perl5/ch-02.pl +++ /dev/null @@ -1,25 +0,0 @@ -#! /usr/bin/env perl -use v5.22; - -sub sum_of_proper_divisors { - #start with one, because that is always a divisor - my $sum = 1; - (1 x shift) =~ /^ (..+) \g1+ $ (?{ $sum += length $1 }) ./xg; - return $sum -} - -sub has_amicable { - my $start = shift; - my $pair = sum_of_proper_divisors($start); - #sometimes the sum of the divisors IS the number. But that's not amicable - return 0 if $pair == $start; - return $start == sum_of_proper_divisors $pair; -} - - -my $num; -while (1) { - last if has_amicable(++$num); -} - -say "$num, ${\sum_of_proper_divisors($num)} is your pair" diff --git a/challenge-020/veesh-goldman/perl5/ch-1.sh b/challenge-020/veesh-goldman/perl5/ch-1.sh new file mode 100755 index 0000000000..14c1ada7e3 --- /dev/null +++ b/challenge-020/veesh-goldman/perl5/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +perl -pE'split / /, s/(.) \g1*/$& /gx' diff --git a/challenge-020/veesh-goldman/perl5/ch-2.pl b/challenge-020/veesh-goldman/perl5/ch-2.pl new file mode 100755 index 0000000000..31c6dedd42 --- /dev/null +++ b/challenge-020/veesh-goldman/perl5/ch-2.pl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl +use v5.22; + +sub sum_of_proper_divisors { + #start with one, because that is always a divisor + my $sum = 1; + (1 x shift) =~ /^ (..+) \g1+ $ (?{ $sum += length $1 }) ./xg; + return $sum +} + +sub has_amicable { + my $start = shift; + my $pair = sum_of_proper_divisors($start); + #sometimes the sum of the divisors IS the number. But that's not amicable + return 0 if $pair == $start; + return $start == sum_of_proper_divisors $pair; +} + + +my $num; +while (1) { + last if has_amicable(++$num); +} + +say "$num, ${\sum_of_proper_divisors($num)} is your pair" -- cgit