232792560
I recently stumbled on Project Euler, a series of various mathematical/programming challenges. A lot of them can be solved quite easily in Perl, such a problem 5:
What is the smallest number divisible by each of the numbers 1 to 20?
I’m sure there’s a more elegant solution, but I figured, heck that’d be easy to brute force. So I whipped up a few lines of Perl. Here’s my first pass:
#!/usr/bin/perl -wuse strict;
my $value = 0;
my @divsors = reverse(2 .. 20);EULER: while (1) {
$value += 20;
print “$value…\n” unless ($value % 1000000);for my $i (@divsors) {
next EULER if ($value % $i);
}last;
}
Anything like while(1) always makes me worry about an infinite loop, so I threw in the status line & watched it.
Happily, there was no infinite loop & it terminated.
0.0001 seconds later I realized what an idiot I was.
The programs goes through all the hard work of figuring out the value and then… well, nothing.
I forgot to add a line to print it out the final value.
So, in a nutshell, my first attempt worked — all the heavy lifting bits were correct — but it was worth naught as I overlooked a trivial bit.
Sadly, this is apt microcosm of my life.

January 20th, 2008 at 3:12 pm
So, you did miss the easy cheesy solution that you can do in 30 seconds with a calculator. It helps to think about prime factorization when looking at the problem.
Anyway, enjoy it. Project Euler is a lot of fun.
October 9th, 2008 at 9:21 pm
You should also realize that there’s no need to check all of the divisors since, if it’s divisible by 18 then it will also be divisible by 9, also true for many more, 16-8-4-2, 15-5-3. etc…