blob: b93da352dcbde62a577fdbcadd3945932736230e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/env perl
use strict;
use warnings;
use List::Util qw(reduce);
my ($sum_of_squares, $sum);
# Functional
sub iter {
my ($sum_of_squares, $sum) = @{+shift};
my $n = shift;
$sum_of_squares += $n**2;
$sum += $n;
return [$sum_of_squares, $sum];
}
($sum_of_squares, $sum) = @{+reduce { iter($a, $b) } [0, 0], (1..100)};
print $sum_of_squares - ($sum**2), "\n";
# Imperative
$sum_of_squares = 0;
$sum = 0;
for my $n (1..100) {
$sum_of_squares += $n**2;
$sum += $n;
}
print $sum_of_squares - ($sum**2), "\n";
|