Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Как узнать число простое или нет?   Найти похожие ветки 

 
Витёк   (2005-12-24 12:32) [0]

Простое число - это число, которое делится только на себя (без остатка).

Например, 1,2,3,5,7,11,13,17,19,23,29,31,37,… и так до бесконечности. . . .


 
SergP.   (2005-12-24 12:49) [1]

Когда-то была подобная ветка...

Самый простой способ, это


...
result:=true;
for i:=2 to trunc(sqrt(N)) do if (N mod i) =0 then
 begin
 result:=false;
 break;
 end;
...


Можно в цикле перебирать только нечетные числа, Будет быстрее,  но двойку тоже придется включить.

Если есть массив простых чисел до sqrt(N), то достаточно перебрать в цикле только их а не весь диапазон 2..sqrt(N)

и т.д.


 
Uncle Archi ©   (2005-12-24 12:50) [2]

Витёк   (24.12.05 12:32) [0]

Проверить, делится ли она на числа, начиная с 2 заканчивая Trunc(sqrt(N)) (т.е. корнем из числа).


 
Uncle Archi ©   (2005-12-24 12:53) [3]

Когда писал, не видел SergP.   (24.12.05 12:49) [1].


 
Mystic ©   (2005-12-24 17:38) [4]

Число один не относят к простым.


 
Aldor_   (2005-12-24 19:06) [5]

Если нужен список простых чисел до некоторого натурального N, лучше воспользоваться решетом Эратосфена (google forever).


 
wal ©   (2005-12-26 09:47) [6]


> Витёк   (24.12.05 12:32)
Простых способов нет, точнее простой, но медленный в [1] и [2]. А быстрых нет. На этом, пока, криптография и держится.

> Aldor_   (24.12.05 19:06)
Задача несколько обратная.


 
pasha_golub ©   (2005-12-26 09:51) [7]

http://algolist.manual.ru/maths/teornum/



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.104 c
2-1135847930
n0p
2005-12-29 12:18
2006.01.22
Application.CreateForm(TDataModule, DataModule);


5-1122596203
Fedja2003
2005-07-29 04:16
2006.01.22
Редактор компонентов 2


2-1135838235
markers
2005-12-29 09:37
2006.01.22
Операции с нецелыми числами.


14-1135489651
begin...end
2005-12-25 08:47
2006.01.22
С Днём рождения! 25 декабря


2-1136485227
RDS
2006-01-05 21:20
2006.01.22
Помогите найти ошибку, плиз