program primed; {$APPTYPE CONSOLE} var primes : array[2..500] of Boolean; procedure GeneratePrimes(); var i, p, idx : Integer; begin for i := Low(primes) to High(primes) do primes[i] := true; p := 2; idx := 2; while (p*p <= High(primes)) do begin idx := p*p; while (idx <= High(primes)) do begin primes[idx] := false; Inc(idx, p); end; repeat Inc(p); until (primes[p]) or (p > High(primes)); end; end; var i, a, b : Integer; s : String; begin a := 0; b := 0; GeneratePrimes(); WriteLn('Bily sgenerirovani sleduushie prostie chisla: '); for i := Low(primes) to High(primes) do if (primes[i]) then Write(i, ' '); WriteLn(''); Write('Vvedite pervoe chislo: '); ReadLn(a); Write('Vvedite vtoroe chislo: '); ReadLn(b); if (a >= Low(primes)) and (a <= High(primes)) and (b >= Low(primes)) and (b <= High(primes)) then begin if (abs(a - b) = 2) then WriteLn('Chisla yavlyautsa prostimi bliznetsami!') else WriteLn('Chisla NE yavlyautsa prostimi bliznetsami!') end else WriteLn('Chisla lejat za predelami diapazona dopustimih znacheniy!'); ReadLn; end.