28 lines
329 B
Text
28 lines
329 B
Text
BYTE FUNC IsSemiPrime(INT n)
|
|
INT a,b
|
|
|
|
a=2 b=0
|
|
WHILE b<3 AND n#1
|
|
DO
|
|
IF n MOD a=0 THEN
|
|
n==/a b==+1
|
|
ELSE
|
|
a==+1
|
|
FI
|
|
OD
|
|
IF b=2 THEN
|
|
RETURN(1)
|
|
FI
|
|
RETURN(0)
|
|
|
|
PROC Main()
|
|
INT i
|
|
|
|
PrintE("Semiprimes:")
|
|
FOR i=1 TO 500
|
|
DO
|
|
IF IsSemiPrime(i) THEN
|
|
PrintI(i) Put(32)
|
|
FI
|
|
OD
|
|
RETURN
|