diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-03-25 15:51:20 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-25 15:51:20 +0000 |
| commit | 53190714138b1dbfa80564938faeb888f809e025 (patch) | |
| tree | b3e727e63df04809bff8c47f146f70fd10d81474 /challenge-157 | |
| parent | ac290841a3c0e9de0ba2ba97eca7d4bfbd1b974e (diff) | |
| parent | 3b67ff4f2f80ba5515aa6fbce55f36b771c3b7bd (diff) | |
| download | perlweeklychallenge-club-53190714138b1dbfa80564938faeb888f809e025.tar.gz perlweeklychallenge-club-53190714138b1dbfa80564938faeb888f809e025.tar.bz2 perlweeklychallenge-club-53190714138b1dbfa80564938faeb888f809e025.zip | |
Merge pull request #5828 from drbaggy/master
Fix examples...
Diffstat (limited to 'challenge-157')
| -rw-r--r-- | challenge-157/james-smith/perl/ch-1.pl | 8 | ||||
| -rw-r--r-- | challenge-157/james-smith/perl/ch-2.pl | 19 |
2 files changed, 17 insertions, 10 deletions
diff --git a/challenge-157/james-smith/perl/ch-1.pl b/challenge-157/james-smith/perl/ch-1.pl index c2c5045c41..6d6d85d498 100644 --- a/challenge-157/james-smith/perl/ch-1.pl +++ b/challenge-157/james-smith/perl/ch-1.pl @@ -17,11 +17,15 @@ my @TESTS = ( [ 1..170 ], [ 1..171 ], [ 1..999 ], + [ 1..9999 ], + [ 1..99999 ], + [ 1..999999 ], + [ 1..9999999 ], ); -say sprintf 'AM = %10.6f, GM = %10.6f, HM = %10.6f', means( @{$_} ) for @TESTS; +say sprintf 'AM = %15.6f, GM = %15.6f, HM = %15.6f', means( @{$_} ) for @TESTS; say ''; -say sprintf 'AM = %10.6f, GM = %10.6f, HM = %10.6f', means_scalable( @{$_} ) for @TESTS; +say sprintf 'AM = %15.6f, GM = %15.6f, HM = %15.6f', means_scalable( @{$_} ) for @TESTS; sub means { my ($am, $gm, $hm) = (0, 1, 0); diff --git a/challenge-157/james-smith/perl/ch-2.pl b/challenge-157/james-smith/perl/ch-2.pl index 955785c268..50d1bac432 100644 --- a/challenge-157/james-smith/perl/ch-2.pl +++ b/challenge-157/james-smith/perl/ch-2.pl @@ -8,20 +8,23 @@ use Test::More; use Benchmark qw(cmpthese timethis); use Data::Dumper qw(Dumper); -my @TESTS = ( - [ 7, 1 ], - [ 6, 0 ], - [ 8, 1 ], +## List of brazillian numbers... for testing... +my %T = map { $_ => 1 } qw( + 7 8 10 12 13 14 15 16 18 20 + 21 22 24 26 27 28 30 31 32 33 34 35 36 38 39 40 + 42 43 44 45 46 48 50 51 52 54 55 56 57 58 60 + 62 63 64 65 66 68 69 70 72 73 74 75 76 77 78 80 + 81 82 84 85 86 87 88 90 91 92 93 94 95 96 98 99 100 ); -is( is_brazilian($_->[0]), $_->[1] ) foreach @TESTS; +is( is_brazilian( $_ ), $T{$_}||0 ) for 4..100; done_testing(); sub is_brazilian { - O: for my $b (2.. $_[0]/2-1) { - my $last = (my $n=$_[0])%$b; - $n%$b==$last || next O while $n=int($n/$b); + O: for my $b ( 2 .. $_[0]/2 - 1 ) { + my $l = (my $n=$_[0]) % $b; + $n % $b == $l || next O while $n = int($n/$b); return 1; } 0; |
