var j:integer;
function nguyento(z:integer):boolean;
var i:integer;
begin
nguyento:=true;
for i:=1 to (sqrt(z)div 1) do
if z mod i=0 then nguyento:=false;
end;begin
clrscr;
for j:=1 to 300 do if nguyento(j) then
write(j:4);
readln
end.
Tôi muốn làm nên tất cả
Muốn kiểm tra 1 số x có phải là số nguyên tố không thì ta kiểm tra xem trong khoảng từ 1 đến sqrt(x) có bao nhiêu ước của x.Nếu nó có 1 ước là 1 thì khẳng định số x là số nguyên tố.Do vậy trong bài này:
n-Số ngẫu nhiên nhập vào từ bàn phím
i-Biến chạy từ 1 đến n
j-Biến chạy từ 1 đến sqrt(i) để kiểm tra xem j có phải là ước của i không.
k-Biến đếm số ước của i.Giá trị ban đầu cho là 0.Nếu i chia hết cho j thì tăng lên 1.
Do j chạy từ 1 nên luôn có 1 ước là 1 ==>Khi k=1 thì khẳng định số đó là số nguyên tố và thoát ra ngoài thực hiện vòng lặp tiếp theo.
Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)
Đánh dấu