Консультация № 145236
27.09.2008, 22:13
0.00 руб.
0 5 2
Спасибо за предыдущие задачи...
помогите решить еще одну,пожалуйста.
Написать программу,которая проверяет является ли целое число,введенное пользователем,простым.

Заранее спасибо...

Обсуждение

Неизвестный
27.09.2008, 22:37
общий
это ответ
Здравствуйте, Заболотских Татьяна Сергеевна!
Программа в приложении.

Приложение:
program prostota;
var i,N:integer;
BEGIN
write('Ждём ввода числа... '); readln(N);
N:=abs(N); {а вдруг нам отрицательное дадут? не хочется два цикла рисовать}
for i:=2 to N-1 do
if N mod i = 0 then
begin
writeln('Не простое');
break;
end else
if i=N-1 then writeln('Простое');
end.
Неизвестный
27.09.2008, 22:42
общий
это ответ

Здравствуйте, [b]Заболотских Татьяна Сергеевна![/b]

В приложении находится пример. Функция isSimple(Integer) возвращает True, если число простое и False в ином случае.
Список первых 500 простых чисел для проверки примера можно найти здесь: Список простых чисел

Удачи!

Приложение:
program Q145236;

{Функция возвращает True, если N простое число и False в ином случае}
function isSimple(const N: Integer): Boolean;
var
i, k: Integer;
p: Boolean;
begin
{Инициализация}
isSimple:= False;
p:= True;
i:= 2;
k:= N;

{Если число меньше двух, оно не простое}
if (N < 2) then
Exit
{Двойка - простое число}
else if (N = 2) then
begin
isSimple:= True;
Exit;
end
else
while ((i < k) and p) do
begin
{Проверяем остаток деления}
p:= not (N mod i = 0);
k:= N div i + 1;
Inc(i);
end;
{Результат}
isSimple:= p;
end;

var
a: Integer;
begin
{ Ввод числа }
write('a = '); ReadLn(a);

{ Вывод результата }
if isSimple(a) then
{ Простое }
WriteLn('Simple')
else
{ Не простое }
WriteLn('Not simple');

{Ожидание нажатия пользователем любой кнопки}
WriteLn;
WriteLn('Press any key...');
ReadLn;
end.
Неизвестный
27.09.2008, 22:44
общий
to -=Dr. Штопор=-:
А если нам подадут отрицательное число, то оно 100% не простое - лучше делать проверку N < 2 (все числа меньше двух не являются простыми).
Неизвестный
27.09.2008, 22:45
общий
Denisss, проще надо быть И люди к тебе потянутся
Неизвестный
27.09.2008, 22:46
общий
Извиняюсь... Просто в условии задачи дано целое - с понтолыку сбило. А я и забыл, что простое по определению принадлежит множеству натуральных чисел
Форма ответа