Bài 1: Nhập số n, cho biết đó có phải là số nguyên tố không?
Bài giải:
uses crt;
var n,i:integer;
begin
clrscr;
write('Nhap so n:');readln(n);
i:=2;
while (n mod i<>0) and (n>i) do
i:=i+1;
if n=i then writeln(n,' la so nguyen to.')
else writeln(n,' ko la so nguyen to.');
readln;
end.
Bài 2: Nhập 2 số tự nhiên m,n. Xuất ra tất cả các số nguyên tố nằm giữa m và n.
Bài giải:
uses crt;
var m,n,i:integer;
{------------}
function ngto(n:integer):boolean;
var i:integer;
begin
i:=2;
while (n mod i<>0) and (i<n) do inc(i);
if n=i then ngto:=true
else ngto:=false;
end;
{------------------}
begin
clrscr;
write('Nhap n;');readln(n);
write('nhap m:');readln(m);
writeln('Cac so nguyen to nam giua ',n,' va ',m,':');
if n>m then
for i:=m+1 to n-1 do
if ngto(i) then write(i:3);
if m>n then
for i:=n+1 to m-1 do
if ngto(i) then write(i:3);
readln;
end.
Bài 3: Nhập hai số m, n kiểm tra có phải 2 số nguyên tố cùng nhau hay không?
Bài giải:
uses crt;
var a,b:integer;
(****)
function USC(c,d:integer):integer;
begin
while c<>d do
if c>d then c:=c-d
else d:=d-c;
USC:=c;
end;
(*****)
begin
clrscr;
write('Nhap so thu nhat:');readln(a);
write('Nhap so thu hai:');readln(b);
if USC(a,b)=1 then writeln(a,' va ',b,' la hai so nguyen to cung nhau.')
else writeln(a,' va ',b,' la hai so khong nguyen to cung nhau.');
readln;
end.
Bài 4: Cho trước số tự nhiên n. Dùng phương pháp sàng để tìm và in ra tất cả các số nguyên tố từ 2 đến n.
Bài giải:
uses crt;
var n,i,j:integer;
sang:set of byte;
begin
clrscr;
write('Nhap n:');readln(n);
sang:=[2..n];
j:=1;
repeat
while not(j in sang) do inc(j);
write(j:5);
i:=j;
repeat
sang:=sang-[i];
inc(i,j);
until i>n;
until sang=[];
readln;
end.