44 lines
530 B
Plaintext
44 lines
530 B
Plaintext
EnableExplicit
|
|
|
|
Procedure.b kprime(n.i, k.i)
|
|
Define p.i = 2,
|
|
f.i = 0
|
|
|
|
While f < k And p*p <= n
|
|
While n % p = 0
|
|
n / p
|
|
f + 1
|
|
Wend
|
|
p + 1
|
|
Wend
|
|
|
|
ProcedureReturn Bool(f + Bool(n > 1) = k)
|
|
|
|
EndProcedure
|
|
|
|
;___main____
|
|
If Not OpenConsole("Almost prime")
|
|
End -1
|
|
EndIf
|
|
|
|
Define i.i,
|
|
c.i,
|
|
k.i
|
|
|
|
For k = 1 To 5
|
|
Print("k = " + Str(k) + ":")
|
|
|
|
i = 2
|
|
c = 0
|
|
While c < 10
|
|
If kprime(i, k)
|
|
Print(RSet(Str(i),4))
|
|
c + 1
|
|
EndIf
|
|
i + 1
|
|
Wend
|
|
PrintN("")
|
|
Next
|
|
|
|
Input()
|