Task

The objective is to write a function that finds the sum of all positive multiples of 3 or 5 below n.

Show output for n = 1000.

This is is the same as Project Euler problem 1.

Extra credit: do this efficiently for n = 1e20 or higher.




#!/usr/bin/perl
use v5.20;
use experimental qw(signatures);
 
use List::Util qw( sum ) ;
 
sub sum_3_5($limit) {
   return sum grep { $_ % 3 == 0 || $_ % 5 == 0 } ( 1..$limit - 1 ) ;
}
 
say "The sum is ${\(sum_3_5 1000)}!\n" ;