RosettaCodeData/Task/Semiprime/ANSI-BASIC/semiprime.basic
2026-04-30 12:34:36 -04:00

23 lines
543 B
Text

100 REM Semiprime
110 DECLARE EXTERNAL FUNCTION FactorsCnt
120 INPUT PROMPT "Enter an integer: ": N
130 IF FactorsCnt(N) = 2 THEN
140 PRINT "It is a semiprime."
150 ELSE
160 PRINT "It is not a semiprime."
170 END IF
180 END
190 REM
200 EXTERNAL FUNCTION FactorsCnt(N)
210 LET AN = ABS(N)
220 LET Count = 0
230 IF AN >= 2 THEN
240 FOR F = 2 TO AN
250 DO WHILE MOD(AN, F) = 0
260 LET Count = Count + 1
270 LET AN = INT(AN / F)
280 LOOP
290 NEXT F
300 END IF
310 LET FactorsCnt = Count
320 END FUNCTION