Программа которая находит все простые числа от 1 до N - PascalABC.NET
Формулировка задачи:
Написать программу которая находит все простые числа от 1 до N проверкой каждого числа из этого интервала диапазона на простату
Решение задачи: «Программа которая находит все простые числа от 1 до N»
textual
Листинг программы
function isPrime(N : Integer) : Boolean;
var
D, Q : Integer;
dD : Integer;
begin
Result := False;
if N <= 1 then Exit;
if (N >= 5) and (((N - 1) mod 6 = 0) or ((N + 1) mod 6 = 0)) then
begin
D := 5;
dD := 2;
Q := Trunc(Sqrt(N));
while D < Q do
if N mod D = 0 then
Exit
else
begin
D += dD;
dD := dD xor 6;
end;
Result := True;
end
else
Result := (N = 2) or (N = 3);
end; // isPrime
begin
var N := ReadLnInteger('N =');
WriteLn('1 - ни простое, ни составное');
for var i := 2 to N do
WriteLn(i, ' - ', (isPrime(i) ? 'простое' : 'составное'));
end.