Nguồn đề bài: http://vn.spoj.com/problems/HSPC14J/
1. Đề bài HSPC 2014
Sàng của Eratosthenes là thuật toán nổi tiếng để tìm tất cả các số nguyên tố nhỏ hơn N. Thuật
toán như sau:
- Ghi ra tất cả các số nguyên giữa 2 và N.
- Tìm số nhỏ nhất chưa bị gạch và gọi nó là P (P là số nguyên tố).
- Gạch bỏ P và tất cả các bội số của nó mà chưa bị gạch.
- Nếu còn số chưa bị gạch bỏ, chuyển sang bước 2.
Viết một chương trình, cho N và K, tìm số nguyên thứ K bị gạch.
Input
Gồm nhiều bộ test, mỗi bộ test nằm trên một dòng gồm các số nguyên N và K (2 ≤ K < N ≤ 1000).
Output
Với mỗi test, in ra trên một dòng số thứ K bị gạch bỏ.
Example
Input:
7 3
15 12
10 7
Output:
6
7
9
2. Code tham khảo HSPC14J spoj
const fi=''; nmax=1000; type data=longint; var f:text; x,M:data; A:array[1..nmax] of boolean; procedure xuli; var i,j,k:data; begin for i:=1 to x do a[i]:=false; i:=2; k:=0; while i<=x do begin if not a[i] then begin for j:=1 to x div i do if not a[i*j] then begin inc(k); if k=m then begin writeln(i*j); exit; end; a[i*j]:=true; end; end; inc(i); end; end; begin assign(f,fi); reset(f); while not eof(f) do begin readln(f,x,m); xuli; end; end.