home *** CD-ROM | disk | FTP | other *** search
- \ Problem 4.9 04/11/90 16:25:31.08
-
- VARIABLE A VARIABLE B VARIABLE C VARIABLE N
- VARIABLE AA+BB
-
- : XNEW ( n xold -- n xnew )
- 2DUP / + 2/ ;
-
- : SQRT ( n -- root )
- DUP 0< IF ABORT" Illegal argument" THEN
- DUP 1 >
- IF DUP 2/
- 10 0 DO XNEW LOOP NIP
- THEN ;
-
- : .ABC
- CR A @ 12 .R B @ 12 .R C @ 12 .R ;
-
-
- : MULTIPLE? ( -- flag )
- A @ 2 MOD B @ 2 MOD C @ 2 MOD + + IF FALSE ELSE TRUE THEN ;
-
-
-
- : .ABC? ( -- flag )
- MULTIPLE? NOT IF .ABC 1 N +! THEN ;
-
-
- : FIND_TRIPLE ( -- )
- A @ DUP * B @ DUP * + DUP AA+BB !
- SQRT 142 SWAP DO I DUP * AA+BB @
- 2DUP > IF 2DROP LEAVE THEN
- = IF I C ! .ABC? THEN
- LOOP ;
-
- : TRIPLES ( -- )
- 0 N !
- 100 1 DO I A !
- 100 I DO I B !
- FIND_TRIPLE
- LOOP
- LOOP
- CR CR 12 SPACES ." Number of TRIPLES : " N @ . ;
-
-
-