B4X:
Sub Process_Globals
Private numbers(10000000) As Boolean
Private primes As List
End Sub
Sub AppStart (Args() As String)
Dim n As Long = DateTime.Now
primes.Initialize
For i = 2 To numbers.Length - 1
If numbers(i) = False Then
primes.Add(i)
For i2 = 2 * i To numbers.Length - 1 Step i
numbers(i2) = True
Next
End If
Next
Log($"took: ${DateTime.Now - n} ms"$)
Log("number of primes: " & primes.Size)
Log("last 20 primes")
For i = primes.Size - 21 To primes.Size - 1
Log(primes.Get(i))
Next
End Sub
Takes 42 seconds to find all primes smaller than 1,000,000,000.