Procedure isPrime(v.i) If v <= 1 : ProcedureReturn #False ElseIf v < 4 : ProcedureReturn #True ElseIf v % 2 = 0 : ProcedureReturn #False ElseIf v < 9 : ProcedureReturn #True ElseIf v % 3 = 0 : ProcedureReturn #False Else Protected r = Round(Sqr(v), #PB_Round_Down) Protected f = 5 While f <= r If v % f = 0 Or v % (f + 2) = 0 ProcedureReturn #False EndIf f + 6 Wend EndIf ProcedureReturn #True EndProcedure Procedure paresDePrimos(limite.d) p1.i = 0 p2.i = 1 p3.i = 1 count.i = 0 For i.i = 5 To limite p3 = p2 p2 = p1 p1 = isPrime(i) If p3 And p1 count + 1 EndIf Next i ProcedureReturn count EndProcedure OpenConsole() n.i = 1 For i.i = 1 To 6 n = n * 10 PrintN("pares de primos gemelos por debajo de < " + Str(n) + " : " + Str(paresDePrimos(n))) Next i PrintN(#CRLF$ + "--- terminado, pulsa RETURN---"): Input() CloseConsole() End