[Coco] Project Euler and the Coco

Bill Barnes da3m0n_slay3r at yahoo.com
Sat Nov 15 01:41:52 EST 2008


 Line 40: the OR clause in the if statement slows things down, because once C >= A, then it tests BOTH C < A AND C < B. So Drop the "C<A OR" part to save time. it still fits A < B < C.

40 IF C < B THEN 60

Also for CoCo: renumber to make lines less than double digits and triple digits. I'd say remove spaces too, but our readability would suffer.

As far as precalc-ing A*A, would there not be an increase in speed to also precalc B*B and C*C?

-Later!   -WB-    -- BABIC Computer Consulting.


--- On Fri, 11/14/08, Mark McDougall <msmcdoug at iinet.net.au> wrote:

> From: Mark McDougall <msmcdoug at iinet.net.au>
> Subject: Re: [Coco] Project Euler and the Coco
> To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
> Date: Friday, November 14, 2008, 10:12 PM
> John wrote:
> 
> > 10 FOR A = 2 TO 333
> > 20 FOR B = 334 TO 667
> > 30 C = 1000 -A -B
> > 40 IF C<A OR C<B THEN 60
> > 50 IF A*A + B*B = C*C THEN 100
> > 60 NEXT B,A
> > 100 PRINT "A="A
> > 110 PRINT "B="B
> > 120 PRINT "C="C
> > 130 PRINT "A  X  B  X  C  ="A*B*C
> 
> Not sure whether you mean algorithm optimisation, code
> optimisation, or both?
> 
> 1. 20 FOR B=500-A TO 500+A gives result 40% quicker
> 2. pre-calc A*A at line 15 to run quicker
> 
> that's all I can see so far...
> 
> 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