
Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Паскаль / do9 / iriepas201 / Irie Pascal / samples / prime2
.pasprogram primes(input, output);
type
PrimeList = packed list of integer;
var
primes : PrimeList;
num, i, candidate : integer;
function IsPrime : boolean;
var
i, x : integer;
begin
for i := 1 to length(primes) do
begin
x := primes[i];
if candidate mod x = 0 then
exit(false);
if primes[i] > trunc(sqrt(candidate)) then
exit(true)
end;
writeln('Overrun');
end;
procedure GenPrime;
begin
repeat
candidate := candidate + 2;
if IsPrime then
begin
writeln(candidate);
insert(candidate, primes);
exit
end
until candidate = maxint;
writeln('Error')
end;
begin
write('Enter number of primes to generate ');
readln(num);
if (num<3) or (num > 10000) then
begin
writeln('primes must be between 3 and 10000');
exit
end;
new(primes);
insert(2, primes);
insert(3, primes);
insert(5, primes);
writeln(2);
writeln(3);
writeln(5);
candidate := 5;
for i := 4 to num do
GenPrime;
dispose(primes);
end.
Соседние файлы в папке samples