![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
помогите пожалуйста в решении следующей задачи:
необходимо вывести все простые числа от 1 до 10000 мне говорили что делается через переменную типа boolean но реализацию я понять не смог |
|
#2
|
||||
|
||||
|
Сори забыл что такое простые числа)
Последний раз редактировалось Bars1992, 10.09.2010 в 08:24. |
|
#3
|
||||
|
||||
|
Простые числа это типа те что деляться только на себя и 1?
|
|
#4
|
|||
|
|||
|
Код:
{$APPTYPE CONSOLE}
uses
SysUtils;
function IsPrime(Prim: Longint): Boolean;
var
Z: Real;
Max: LongInt;
Divisor: LongInt;
begin
Result := False;
if (Prim and 1) = 0 then
Exit;
Z := Sqrt(Prim);
Max := Trunc(Z) + 1;
Divisor := 3;
while Max > Divisor do
begin
if (Prim mod Divisor) = 0 then
Exit;
Inc(Divisor, 2);
if (Prim mod Divisor) = 0 then
Exit;
Inc(Divisor, 4);
end;
Result := True;
end;
var
i:integer;
begin
for i:=1 to 1000 do
if IsPrime(i) then
Write(i,' ');
Readln;
end. |