Idoneal numbers: Difference between revisions

Content added Content deleted
(→‎{{header|ALGOL 68}}: Slight simplification)
(→‎{{header|Action!}}: Slight simplification)
Line 39: Line 39:
n2 ==+ 1
n2 ==+ 1
idoneal = 1
idoneal = 1
a = 0
a = 1
WHILE a < n2 AND idoneal = 1 DO
DO
a ==+ 1
b = a + 1
IF a >= n2 THEN
DO
EXIT
ab = a * b
ELSEIF idoneal = 0 THEN
IF ( ab + a + b ) > n OR idoneal = 0 THEN EXIT FI
EXIT
c = b + 1
ELSE
b = a + 1
DO
DO
ab = a * b
sum = ab + ( c * ( b + a ) )
IF ( ab + a + b ) > n OR idoneal = 0 THEN EXIT FI
IF sum = n THEN
c = b + 1
idoneal = 0
DO
EXIT
sum = ab + ( b * c ) + ( a * c )
ELSEIF sum > n THEN
IF sum = n THEN
EXIT
idoneal = 0
ELSE
EXIT
c ==+ 1
ELSEIF sum > n THEN
FI
EXIT
ELSE
c ==+ 1
FI
OD
b ==+ 1
OD
OD
FI
b ==+ 1
OD
a ==+ 1
OD
OD
IF idoneal THEN
IF idoneal THEN