211 Divisor Square Sum.pl 398 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/perl
  2. # Daniel "Trizen" Șuteu
  3. # Date: 28 August 2016
  4. # License: GPLv3
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=211
  7. # Runtime: 45.717s
  8. use 5.010;
  9. use strict;
  10. use ntheory qw(divisor_sum is_square forcomposites);
  11. my $sum = 1;
  12. my $limit = 64_000_000;
  13. forcomposites {
  14. if (is_square(divisor_sum($_, 2))) {
  15. $sum += $_;
  16. }
  17. } 1, $limit-1;
  18. say $sum;