348 Sum of a square and a cube.pl 693 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/perl
  2. # Daniel "Trizen" Șuteu
  3. # Date: 20 February 2017
  4. # License: GPLv3
  5. # https://github.com/trizen
  6. # https://projecteuler.net/problem=348
  7. # Runtime: 37.866s
  8. use 5.010;
  9. use strict;
  10. use integer;
  11. my %count;
  12. my $count = 0;
  13. my $sum = 0;
  14. OUTER: for (my $i = 1 ; ; ++$i) {
  15. for my $j (1 .. $i >> 2) {
  16. my $s = $i**2;
  17. my $c = $j**3;
  18. my $p = $s + $c;
  19. if ($p eq reverse($p)) {
  20. push @{$count{$p}}, "$i^2 + $j^3";
  21. if (@{$count{$p}} == 4) {
  22. $sum += $p;
  23. say "$p = [", join(", ", @{$count{$p}}), "]";
  24. last OUTER if ++$count == 5;
  25. }
  26. }
  27. }
  28. }
  29. say "Sum: $sum";