IF THEN Command question - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: IF THEN Command question (/thread-112.html) |
IF THEN Command question - Bob Frazee - 12-15-2013 09:52 PM From Page 531, 532 Prime User Manual EXPORT ISPERFECT(n) BEGIN LOCAL d, sum; 2 ▶ d; 1 ▶ sum; WHILE sum <= n AND d < n DO IF irem(n,d)==0 THEN sum+d ▶ sum; END; d+1 ▶ d; END; RETURN sum==n; END; The following program displays all the perfect numbers up to 1000: EXPORT PERFECTNUMS() BEGIN LOCAL k; FOR k FROM 2 TO 1000 DO IF ISPERFECT(k) THEN MSGBOX(k+" is perfect, press OK"); END; END; END; In the above bolded text, how is the test being performed? In HP50 RPL, it would be tested against a value in level 1 of the stack, but this appears to be an algebraic test. Thanks rcf RE: IF THEN Command question - eried - 12-15-2013 10:48 PM If <returning result from things here is not 0> then ... RE: IF THEN Command question - patrice - 12-15-2013 11:04 PM Prime use 0 as False non 0 as True So IF Myfunc(n) THEN ... END; is like IF Myfunc(n) <> 0 THEN ... END; RE: IF THEN Command question - Bob Frazee - 12-16-2013 12:22 AM Thanks Eried and Patrice. That answered my question. rcf |