02/10/2018, 13:56
Sàng nguyên tố bằng tập hợp Pascal
Sàng nguyên tố là thuật toán giúp kiểm tra nhiều số nguyên tố một cách nhanh chóng. các bạn có thể tham khảo các tài liệu. hôm nay mình sẽ hướng dẫn cách sàng nguyên tố bằng Tập hợp. tất nhiên nó ko quan trọng trong các kì thi. nhưng đây là 1 cách để tiếp cận tập hợp và hiểu rõ hơn ...
Sàng nguyên tố là thuật toán giúp kiểm tra nhiều số nguyên tố một cách nhanh chóng. các bạn có thể tham khảo các tài liệu. hôm nay mình sẽ hướng dẫn cách sàng nguyên tố bằng Tập hợp. tất nhiên nó ko quan trọng trong các kì thi. nhưng đây là 1 cách để tiếp cận tập hợp và hiểu rõ hơn nó:
code sàng nguyên tố bằng tập hợp
type
taphop=set of byte;
var
n:longint;
SNT:taphop;
procedure sangnt;
var i,j:longint;
begin
SNT:=[2..255];
i:=2;
while i<=trunc(sqrt(255)) do
begin
while not i in snt do
inc(i);
for j:=2 to 255 div i do
snt:=snt-[i*j];
inc(i);
end;
for i:=1 to 255 do
if i in snt then
write(i,' ');
end;
begin
sangnt;
readln;
end.
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 | type taphop=set of byte; var n:longint; SNT:taphop; procedure sangnt; var i,j:longint; begin SNT:=[2..255]; i:=2; while i<=trunc(sqrt(255)) do begin while not i in snt do inc(i); for j:=2 to 255 div i do snt:=snt-[i*j]; inc(i); end; for i:=1 to 255 do if i in snt then write(i,' '); end; begin sangnt; readln; end. |