.prime Print "Enter the upper limit: " upper = Edit(80) : If upper < 1 Then End If upper > 8 mx = Int(upper / 2) + 1 Else mx = upper EndIf Dim pn(mx) : num=1 : pn(0) = 1 : pn(1) = 2 per = Int(upper / 10) : If per = 0 Then per = 1 Format "000" ResetTimer NPrint "" : Print "Calculating 000%"+Chr$(8) For t = 3 To upper perc + 1 If perc > per perc = 0 Print Chr$(8)+Chr$(8)+Chr$(8) : Print t / upper * 100 EndIf noprime = 0 : tt = 0 Repeat tt+1 : frc=Frac(t/pn(tt)) Until frc = 0 OR pn(tt) > Sqr(t) If frc <> 0 Then num + 1 : pn(num) = t Next t=Ticks : Print Chr$(8)+Chr$(8)+Chr$(8) : Print "100%" Format "" NPrint "" : NPrint "" NPrint "Prime numbers in the range 1 to ",upper," are:" For a = 0 To num If pn(a) <= upper Then NPrint pn(a) Next a NPrint "Finished, in ",t / 50," seconds. (Press Enter to Quit)" NPrint "" Goto prime