Ok – to jest prosty algorytm znajdowania n-tej liczby pierwszej… Tam gdzie jest ST1 to trzeba wpisać liczbę, która będzie oznaczała zakres z jakich liczb będziemy szukać liczb pierwszych… Do ST2 trzeba sobie wpisać jakiś bezpieczny zakres liczb pierwszych 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
const ST1=200000; ST2=20000; var pierwbool :array [1..ST1] of boolean; pier: array [1..ST2] of longint; a,i,x:longint; begin for i:=2 to ST1 do if pierwbool = false then begin a:=2*i; inc(x); pier[x]:=i; while a<=ST1 do begin pierwbool[a]:= true; a:=a+i; end; end; readln(a); writeln(pier[a]); readln; end. |
Autor: Lewymati