Pascal programlama dilinde yazılmış bu programda 1'den N'ye kadar olan asal sayıları ekrana yazdıran prosedür icra edilmiştir. Bu problemin çözümü için, önce 2’den N’ye kadar mantıksal elemanlardan oluşmuş bir dizinin elemanlarına True değeri aktarılır. Sonra 2’den başlayarak N sayısının kareköküne kadar her sayının kendileri hariç bütün katlarının olduğu dizi elemanları False yapılır.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
uses crt;
var
dizi :array [1..200] of integer;
dizibl:array [1..200] of boolean;
i,n,j,n1:integer;
tus:char;
procedure asaln;
begin
n1:=trunc(sqrt(n));
for i:=1 to n1 do
begin
for j:=1 to n do
begin
if ( dizi[j] mod dizi[i] = 0)and(i<>j) then dizibl[j]:=false;
end;
end;
end;
begin
clrscr;
repeat
writeln('Dizi boyutunu giriniz..[1..200]: ');
readln(n);
for i:=1 to n-1 do
begin
dizi[i]:=i+1; dizibl[i]:=true;
end;
asaln;
writeln(n,'a/e kadar olan asal sayilar .. :');
for j:=1 to n do
if dizibl[j] then write(' ', dizi[j]);
readln;
writeln('Cikmak icin * karakterine basiniz..');
tus:=readkey;
until tus='*';
end.