37 lines
606 B
Plaintext
37 lines
606 B
Plaintext
' Almost prime
|
|
PROGRAM "almostprime"
|
|
VERSION "0.0002"
|
|
|
|
DECLARE FUNCTION Entry()
|
|
INTERNAL FUNCTION KPrime(n%%, k%%)
|
|
|
|
FUNCTION Entry()
|
|
FOR k@@ = 1 TO 5
|
|
PRINT "k ="; k@@; ":";
|
|
i%% = 2
|
|
c%% = 0
|
|
DO WHILE c%% < 10
|
|
IFT KPrime(i%%, k@@) THEN
|
|
PRINT FORMAT$(" ###", i%%);
|
|
INC c%%
|
|
END IF
|
|
INC i%%
|
|
LOOP
|
|
PRINT
|
|
NEXT k@@
|
|
END FUNCTION
|
|
|
|
FUNCTION KPrime(n%%, k%%)
|
|
f%% = 0
|
|
FOR i%% = 2 TO n%%
|
|
DO WHILE n%% MOD i%% = 0
|
|
IF f%% = k%% THEN RETURN $$FALSE
|
|
INC f%%
|
|
n%% = n%% \ i%%
|
|
LOOP
|
|
NEXT i%%
|
|
RETURN f%% = k%%
|
|
END FUNCTION
|
|
|
|
END PROGRAM
|