diff options
author | Guillermo Ramos | 2019-04-23 21:42:49 +0200 |
---|---|---|
committer | Guillermo Ramos | 2019-04-23 21:42:49 +0200 |
commit | 14f80772cd91555d4b3862e57460b832e88e5b22 (patch) | |
tree | e929e94c75acb805d581c46925b4f0c79b0c39bf | |
parent | 84ea53edf5431d382844da8fcaa47626c8e2b6b2 (diff) | |
download | euler-14f80772cd91555d4b3862e57460b832e88e5b22.tar.gz |
[perl] tabs -> spaces
-rwxr-xr-x | perl/p1.pl | 6 | ||||
-rwxr-xr-x | perl/p2.pl | 34 | ||||
-rwxr-xr-x | perl/p3.pl | 18 | ||||
-rwxr-xr-x | perl/p4.pl | 8 | ||||
-rwxr-xr-x | perl/p5.pl | 48 |
5 files changed, 57 insertions, 57 deletions
@@ -11,8 +11,8 @@ print "\n"; # Imperative my $sum; foreach my $i (1..999) { - if ($i % 3 == 0 || $i % 5 == 0) { - $sum += $i; - } + if ($i % 3 == 0 || $i % 5 == 0) { + $sum += $i; + } } print "$sum\n"; @@ -5,26 +5,26 @@ use warnings; # Functional (naïve) sub iter1 { - my ($fibs, $acc) = @_; - my ($a, $b) = @$fibs; - if ($a > 4_000_000) { - return $acc; - } else { - iter1([$b, $a+$b], $a & 1 ? $acc : $acc + $a); - } + my ($fibs, $acc) = @_; + my ($a, $b) = @$fibs; + if ($a > 4_000_000) { + return $acc; + } else { + iter1([$b, $a+$b], $a & 1 ? $acc : $acc + $a); + } } print iter1([1, 2], 0), "\n"; # Functional (tail recursive) sub iter2 { - my ($fibs, $acc) = @_; - my ($a, $b) = @$fibs; - if ($a > 4_000_000) { - return $acc; - } else { - @_ = ([$b, $a+$b], $a & 1 ? $acc : $acc + $a); - goto &iter2; - } + my ($fibs, $acc) = @_; + my ($a, $b) = @$fibs; + if ($a > 4_000_000) { + return $acc; + } else { + @_ = ([$b, $a+$b], $a & 1 ? $acc : $acc + $a); + goto &iter2; + } } print iter2([1, 2], 0), "\n"; @@ -32,8 +32,8 @@ print iter2([1, 2], 0), "\n"; my ($a, $b) = (1, 2); my $resp = 0; do { - $resp += $a unless ($a & 1); - ($a, $b) = ($b, $a+$b); + $resp += $a unless ($a & 1); + ($a, $b) = ($b, $a+$b); } while ($a <= 4_000_000); print "$resp\n" @@ -14,14 +14,14 @@ my @primes; my $last_factor; for my $i (2 .. $n) { - last if ($i > $n); - if (all { $i % $_ != 0 } @primes) { - if ($n % $i == 0) { - $n /= $i; - $last_factor = $i; - redo; - } - push(@primes, $i); - } + last if ($i > $n); + if (all { $i % $_ != 0 } @primes) { + if ($n % $i == 0) { + $n /= $i; + $last_factor = $i; + redo; + } + push(@primes, $i); + } } print "$last_factor\n"; @@ -10,9 +10,9 @@ use List::Util qw(max); # Imperative my $resp; for my $x (100 .. 999) { - for my $y ($x .. 999) { - my $cand = $x*$y; - $resp = max($resp, $cand) if $cand eq reverse($cand); - } + for my $y ($x .. 999) { + my $cand = $x*$y; + $resp = max($resp, $cand) if $cand eq reverse($cand); + } } print "$resp\n"; @@ -10,32 +10,32 @@ use List::Util qw(reduce max all); # Imperative my @primes = (2); sub factorize { - my $n = shift; - for my $i ($primes[-1] .. $n) { - push @primes, $i if all { $i % $_ != 0 } @primes; - } - my $factors; - for my $prime (@primes) { - if ($n % $prime == 0) { - $factors->{$prime}++; - $n /= $prime; - redo; - } - } - return $factors; + my $n = shift; + for my $i ($primes[-1] .. $n) { + push @primes, $i if all { $i % $_ != 0 } @primes; + } + my $factors; + for my $prime (@primes) { + if ($n % $prime == 0) { + $factors->{$prime}++; + $n /= $prime; + redo; + } + } + return $factors; } sub merge_factors { - my $fst = shift; - my $snd = shift; - my $res; - foreach my $k (keys %$fst) { - $res->{$k} = max($res->{$k} || 0, $fst->{$k}); - } - foreach my $k (keys %$snd) { - $res->{$k} = max($res->{$k} || 0, $snd->{$k}); - } - return $res; + my $fst = shift; + my $snd = shift; + my $res; + foreach my $k (keys %$fst) { + $res->{$k} = max($res->{$k} || 0, $fst->{$k}); + } + foreach my $k (keys %$snd) { + $res->{$k} = max($res->{$k} || 0, $snd->{$k}); + } + return $res; } my @factors = map { factorize $_ } (2..20); @@ -43,6 +43,6 @@ my $mcm = reduce { merge_factors($a, $b) } @factors; my $res = 1; foreach my $k (keys %$mcm) { - $res *= $k ** $mcm->{$k}; + $res *= $k ** $mcm->{$k}; } print $res, "\n"; |