[Coco] Project Euler and the Coco
Arthur Flexser
flexser at fiu.edu
Sat Nov 15 09:45:22 EST 2008
Mark,
While I agree that b > (500-a), (and nice work to you, too), b must also be
greater than or equal to a. So, for maximum efficiency, the lower bound of b
should be either a or (500-a), whichever is greater. That is, use a as the
lower bound if a > 250, and (500-a) as the lower bound otherwise, to save yet
more iterations when a is between 250 and 333.
Art
On Sat, 15 Nov 2008, Mark McDougall wrote:
> Arthur Flexser wrote:
>
> > The ascending length requirement means that B must
> > take up no more than half of the remaining board, or (1000-A)/2.
>
> (a^2 + b^2)= c^2
> (a^2 + b^2) = (a+b)^2 - 2ab = c^2
> therefore, a+b > c
> a + b > (1000 - a - b)
> 2a + 2b > 1000
> (a+b) > 500
> ie, b > (500-a)
>
> and using Arthur's observation (nice work)
>
> FOR B=500-A TO (1000-A)/2
>
> reduces the number of iterations to find the solution to 10,174 from the
> original 66,174 iterations - a massive 85% reduction!
>
> Regards,
>
> --
> | Mark McDougall | "Electrical Engineers do it
> | <http://members.iinet.net.au/~msmcdoug> | with less resistance!"
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list