531 Chinese leftovers.pl 441 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/perl
  2. # Daniel "Trizen" Șuteu
  3. # Date: 09 October 2016
  4. # License: GPLv3
  5. # Website: https://github.com/trizen
  6. # https://projecteuler.net/problem=531
  7. # Runtime: 20.443s
  8. use 5.010;
  9. use strict;
  10. use integer;
  11. use ntheory qw(euler_phi chinese);
  12. my $sum = 0;
  13. foreach my $m (1_000_000 .. 1_005_000 - 1) {
  14. foreach my $n (1_000_000 .. $m - 1) {
  15. $sum += chinese([euler_phi($n), $n], [euler_phi($m), $m]);
  16. }
  17. }
  18. say $sum;