There is another recent Project Euler question but I think this is a bit more specific (I’m only really interested in PHP based solutions) so I’m asking anyway.
Question #5 tasks you with: ‘What is the smallest number that is evenly divisible by all of the numbers from 1 to 20?’
Now, I have solved it twice. Once very inefficiently and once much more efficiently but I am still far away from an especially sophisticated answer (and I am not especially solid in math hence my brute force solution). I can see a couple of areas where I could improve this but I am wondering if any of you could demonstrate a more efficient solution to this problem.
*spoiler: Here is my less than optimal (7 seconds to run) but still tolerable solution (not sure what to do about the double $… just pretend you only see 1…
function euler5(){ $x = 20; for ($y = 1; $y < 20; $y++) { if (!($x%$y)) { } else { $x+=20; $y = 1; } }echo $x; };
in php it will look like this:
Its at least twice as fast than what you posted.