Thuật toán kiểm tra số nguyên tố trong pascal

Thuật toán kiểm tra số nguyên tố trong pascal
HuanBuiThanh
Thuật toán kiểm tra số nguyên tố trong pascal của ta dựa trên ý tưởng: nếu n >1 không chia hết cho số nguyên nào trong tất cả các số từ 2 đến thì n là số nguyên tố. Do đó ta sẽ kiểm tra tất cả các số nguyên từ 2 đến có round(sqrt(n)), nếu n không chia hết cho số nào trong đó thì n là số nguyên tố.
Nếu thấy biểu thức round(sqrt(n)) khó viết thì ta có thể kiểm tra từ 2 đến n div 2.

Hàm kiểm tra nguyên tố nhận vào một số nguyên n và trả lại kết quả là true (đúng) nếu n là nguyên tố và trả lại false nếu n không là số nguyên tố.
program sont;
uses crt;
var n,i,tong,j:integer;
    snt:boolean;
    A:array[1..100] of integer;
function ktnt(a:integer):boolean;
var i:integer;
kt:boolean;
begin
kt:=true;
if a<=1 then kt:=false;
for i:=2 to trunc(sqrt(a)) do
if (a mod i = 0) then kt:=false;
ktnt:=kt;
end;
begin
clrscr;
writeln('nhap so phan tu cua mang A :');
readln(n);
for i:= 1 to n do
    begin
    writeln('nhap phan tu thu ',i,' ');
    read(A[i]);
    end;
tong:=0;
for i:=1 to n do
begin
if ktnt(A[i]) then
   tong:=tong+1;
end;
writeln('-------------------------------------------');
writeln(' tong co ',tong,' snt trong mang' );
writeln(' cac so do la ');
for i:=1 to n do
if ktnt(A[i]) then write(A[i],' ');
readln;
readln;
end.

Thuật toán kiểm tra số nguyên tố trong pascal

Getting Info...

3 nhận xét

  1. như *beep*
    1. bạn cũng như *beep*
  2. sao rắc rối thế bạn
    bạn làm ntn thì đơn giản hơn nè
    while i<=n/2 do
    if (n mod i)<> 0 then
    i:=i+1
    else if (n mod i)=0 then
    nghĩa là mình sẽ có cái biến i kiểm tra từ 1 đến cái n/2(tại vì từ n/2 trở đi thì cái i ko chia hết cho n nữa).
    và nếu mà trong lúc cái i đang chạy mà n mod i = 0 thì mình sẽ biết đc là số đấy ko phải là số nguyên tố
Cảm ơn bạn đã quan tâm và gửi nhận xét tại
http://huanbuithanh.blogspot.com
hãy ghé thăm blog hàng ngày để được cập nhật những thủ thuật mới nhất nhé . thân ái !
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.