Среда разработки: Turbo Pascal 7.1

Рекурсивная реализация «решета Эратосфена» для нахождения простых чисел. Программа последовательно исключает из множества чисел те, которые делятся на 2, на 3 и т. д.

uses crt;
const max=100;
var chisla:set of byte;
i:byte;
{---------------------------------------}
procedure eratosfen(i:byte);
var z:byte;
begin
 if i>=max then exit;
 z:=i;
 while z<=max do
	begin
	inc(z,i);
	if z in chisla then exclude(chisla,z)
	end;
 eratosfen(i+1)
end;
{---------------------------------------}
begin
 clrscr;
 chisla:=[1..max];
 eratosfen(2);
 for i:=1 to max do if i in chisla then write(i:4)
end.
Hosted by uCoz