home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / source / p4_9dc.seq < prev    next >
Text File  |  1990-04-12  |  1KB  |  46 lines

  1. \ Problem 4.9    04/11/90 16:25:31.08
  2.  
  3. VARIABLE A      VARIABLE B      VARIABLE C      VARIABLE N
  4. VARIABLE AA+BB
  5.  
  6. : XNEW          ( n xold -- n xnew )
  7.         2DUP / + 2/ ;
  8.  
  9. : SQRT          ( n -- root )
  10.         DUP 0< IF ABORT" Illegal argument" THEN
  11.         DUP 1 >
  12.         IF DUP 2/
  13.            10 0 DO XNEW LOOP NIP
  14.         THEN ;
  15.  
  16. : .ABC
  17.         CR A @ 12 .R B @ 12 .R C @ 12 .R ;
  18.  
  19.  
  20. : MULTIPLE?     ( -- flag )
  21.         A @ 2 MOD B @ 2 MOD C @ 2 MOD + + IF FALSE ELSE TRUE THEN ;
  22.  
  23.  
  24.  
  25. : .ABC?         ( -- flag )
  26.         MULTIPLE? NOT IF .ABC 1 N +! THEN  ;
  27.  
  28.  
  29. : FIND_TRIPLE   ( -- )
  30.         A @ DUP * B @ DUP * + DUP AA+BB !
  31.         SQRT 142 SWAP DO I DUP * AA+BB @
  32.                         2DUP > IF 2DROP LEAVE THEN
  33.                              = IF I C ! .ABC? THEN
  34.                       LOOP ;
  35.  
  36. : TRIPLES       ( -- )
  37.         0 N !
  38.         100 1 DO I A !
  39.                 100 I DO I B !
  40.                    FIND_TRIPLE
  41.                 LOOP
  42.         LOOP
  43.         CR CR 12 SPACES ." Number of TRIPLES : " N @ . ;
  44.  
  45.  
  46.