е-МОЁ, это че так легко?? Да не верю монитору своему. Простые простые числа!! Вот они - встречате!
2007-01-28 02:40:45
TigRat
Жаль что алгоритм “так“ упростили. Он “елозит“ по уже вычеркнутым числам. (например число 6 дважды вычеркивается, а число 30 вообще 3 раза).
“Плясать“ действительно надо от невычеркнутых чисел, но первая метка должна быть на расстоянии квадрата данного числа. Так проскакивается сразу несколько позиций (а чем дальше тем больше)
2007-03-26 21:11:03
~sexy gril~
Вообще решать продуктивние бует через множества.
2007-11-01 01:13:36
Drun2204
Немного неудачный алгоритм. А если мне нужно получить 100 разрядное простое число...
2008-03-12 20:38:48
adidas
че легко так???? так сделайте кто нить ето все на C\C++, или в текстовике наберите плз очень прошу.
2009-02-27 12:34:30
GOODmen
const N=10; //вместо 10 запишите число - верхнюю границу поиска
var
a : array [1..N] of boolean;
x,y : integer;
begin
a[1] := true;
for x:=2 to N do a[x] := true;
for x:= 2 to N div 2 do
for y:= 2 to N div x do
a[x*y] := false;
for x:= 1 to N do
if a[x] then write(x,); //выводим данные в строчку
readln;
end.
Цифра 1 тоже являеться простым числом,но он его не выводит так как ему присвоили лож,следовательно a[i]:= true что бы цифру один тоже выводило
2009-02-27 12:36:47
GOODmen
if a[x] then write(x,); //выводим данные в строчку
в этой строке тоже нужно поправку,когда выводим х,он выводит все в одну строку следовательно после запятой нужжно поставить пустые кавычки,это будет выглядить так
if a[x] then write(x,' '); //выводим данные в строчку
for (x=2,x<(n%2),x++){
for (y=2,y<(N%x),y++) {
a[x*y] := false;
}
}
for (x=1;x<N;x++){
if (a[x]=true) then cout<<x; //выводим данные в строчку
end.
}
system( "pause" );
}
2009-11-10 06:45:30
C++
Приблизительно так, кое где ; поставить ... я торопился пропустил или поставил "," вместо ";" .... Но выглядеть это будет так на си
2010-03-19 13:36:00
ЮЛЯША.
Ого вот это РЕШЕТО ЭРОТОСФЕНА!!!!!!!! афигеть люди это трудно????!!!!
2010-03-19 13:39:43
ЮЛЯША.
Человеки давайте не про это Р...........Э........ вы лучше подскажите как мне зарегистрироваться в агенте!!!!!!???? PLIS!!!!!!!!!!
2010-06-28 08:48:14
milky
мда....:*( сначала бы следовало прочитать информацию об алгоритме...:*(
2010-11-26 20:41:31
Tahdem
За умение реализовать кртаткий алгоритм +,но алгоритм сам по себе содержет лишние проверки
2010-12-05 13:07:30
Георгий
Число 1 не является простым числом так как, по определению простых чисел-это числа имеющие ровно два делителя единицу и само себя, а у единицы они оба совпадают и поэтому, чтобы каждый раз не описывать случай с 1 отдельно (при док-ве теорем например) решили, что 1 не является простым числом. Ради удобства.
2010-12-05 13:18:24
Георгий
И вот еще вопрос: что если мне дали подобную задачу (мне нужно решето Эратосфена, потому что, вероятно, быстрее ниче не придумать) но реализация такого варианта скажем для n=350000 не подходит, возможно ли избавиться от данной проблемы? Интересует для типа longint-то есть не выходя за пределы 3 миллиардов. Помогите пожалуйста. Потому что мой вариант, который без этого решета пишет ответ на 2 миллионах уже полминуты.
2010-12-05 13:34:53
Георгий
И еще такой вопрос: В данном варианте программы установка оператора if a[x]=true then begin {Внутри второй цикл for} end- поможет работать быстрее??? Ведь мы лишний раз проверяем разве нет? То есть, вот начался первый цикл x=2 узнали что все числа кратные двум непростые ). Затем с x=3 тоже норм, а зачем нам потом еще раз проверять при x=4 ведь ежику понятно что все которые кратны четверке кратны и двойке то есть мы просто лишний раз присвоим то же значение false тем числам которые уже и так непростые, как выяснилось. Если то что написано мною правильно, то вопрос такой поможет ли это сократить время работы программы? И значительно или нет? То есть вообще как это определить? Потому что я не знаю, уходит ли на операцию присваивания того же самого значения память и время достойные внимания?
2011-04-26 09:03:31
Катя
а можно подобный алгоритм использовать для не отсортированного одномерного массива?
2011-11-03 00:59:11
VawItessdwEda
Гражданство Коста-Рики - оформление <b><a href=http://costalive.ru>Гражданство Costa-Rica </a></b> двойного гражданства или второй паспорт Коста-Рики может дать Вам расширенные возможности для безвизового перемещения по всем странам Евросоюза (ЕС), странам Азии – Корея и Япония, Латинской Америки, Новой Зеландии и ЮАР.
Согласно официальной процедуре гражданам Коста-Рики (как страны – бывшей колонии Испании) предоставляется ПМЖ Испании на срок в 4-5 месяцев, а затем спустя 2 года и гражданство Испании, т.е. у Вас есть возможность <b><a href=http://costalive.ru>Гражданство Коста Рика </a></b> так же получить и паспорт Испании – Евросоюза
Интеpнетчик возвpащается поздно домой. Его встpечают двое гpомил.
Один из них достает нож и говоpит:
- Гони деньги!
"Пpовайдеpы",- подумал интеpнетчик.