Matt Owen

source code for "files/pe/pe_001.pl"

return to portfolio
  1.  #!/usr/bin/perl
  2.  
  3.  # Matt Owen
  4.  # Project Euler #1
  5.  # 1+2+3+...+n = n*(n+1)/2 solves this
  6.  
  7.  use POSIX qw/ceil floor/;
  8.  
  9.  sub triangle
  10.  {
  11.   my ($n, @rest) = @_;
  12.   $n = floor($n);
  13.   return $n*($n+1)/2;
  14.  }
  15.  
  16.  
  17.  ($n3, $n5, $n15) = (floor(1000/3), 1000/5-1, floor(1000/15));
  18.  
  19.  $s = 3*triangle($n3)+5*triangle($n5)-15*triangle($n15);
  20.  
  21.  print "project euler #1 answer is...\n\t", $s;