написать программу которая определяет является ли введённое с клавиатуры натуральное число N простым числом (N<32000)
Answers & Comments
alexfedor932
Program test; uses utils; var n,i,sum,time:longint; flag:boolean; begin readln(n); if n<2 then flag:=false;{Единица - не простое число} if n=2 then flag:=true;{2 - простое} if (n>2) and (n mod 2 <> 0) then begin{ после двойки простые числа только нечетные} for i:=1 to n do begin{проверяем что бы было только 2 делителя} sum:=sum+1; end; if sum=2 then flag:=true; end else flag:=false; if flag then writeln('Число простое') else writeln('Число НЕ простое'); time:=milliseconds; writeln('Времени затрачено ',time:10,' ms.'); end. Все проверки сделаны для сокращения времени работы программы.
Answers & Comments
uses utils;
var
n,i,sum,time:longint;
flag:boolean;
begin
readln(n);
if n<2 then flag:=false;{Единица - не простое число}
if n=2 then flag:=true;{2 - простое}
if (n>2) and (n mod 2 <> 0) then begin{ после двойки простые числа только нечетные}
for i:=1 to n do begin{проверяем что бы было только 2 делителя}
sum:=sum+1;
end;
if sum=2 then flag:=true;
end
else flag:=false;
if flag then writeln('Число простое') else writeln('Число НЕ простое');
time:=milliseconds;
writeln('Времени затрачено ',time:10,' ms.');
end.
Все проверки сделаны для сокращения времени работы программы.