203 Squarefree Binomial Coefficients.pl 479 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # Date: 22 September 2016
  4. # License: GPLv3
  5. # Website: https://github.com/trizen
  6. # https://projecteuler.net/problem=203
  7. # Runtime: 0.019s
  8. use 5.010;
  9. use strict;
  10. use ntheory qw(binomial vecsum is_square_free);
  11. sub pascal {
  12. my ($rows) = @_;
  13. my %table;
  14. for my $n (0 .. $rows - 1) {
  15. undef @table{map { binomial($n, $_) } 0 .. $n};
  16. }
  17. vecsum(grep { is_square_free($_) } keys %table);
  18. }
  19. say pascal(51);