Обсуждение:Решето Аткина

Последнее сообщение: 10 лет назад от Olvin в теме «Описание»

Не плохо бы ее дополнить...

править

1. Дать формальное описание (более подробное)

Вроде   Сделано общими усилиями? --Olvin 22:52, 26 сентября 2010 (UTC)Ответить

2. Какая сложность алгоритма?

  Сделано --Olvin 22:52, 26 сентября 2010 (UTC)Ответить

3. Какую-нить *.gif присобачить с графическим примером работы алгоритма 217.23.121.11 11:39, 4 февраля 2008 (UTC)Ответить

88.147.139.60 листинг программы, приведенный в статье не работает, в первоначальном варианте пропускаются числа - степени двойки, пятерки, тройки (25,64,81) и некоторые другие ( для limit=100, например, 65) 88.147.139.60 18:25, 5 апреля 2009 (UTC)Ответить

Наверное следует чесно сказать отметить, что в листинге представлена сильно упрощённая версия решета. Она иллюстрирует только центральную идею алгоритма - использование квадратичных форм. В описательной части есть фраза о том, что «Алгоритм полностью игнорирует любые числа, которые делятся на три,пять и семь.» Однако в листинге сия операция «игнорирования» отсутствует. Соответствующую проверку можно добавить перед оператором печати. Конечно, это существено замедлит выполнение программы (будет   против  ) но, по крайней мере, результат будет правильным («Если программа работает неправильно, то неважно насколько быстро она это делает»). Полученная оценка остаётся лучше, чем для решета Ератосфена. То же самое и с памятью - программа в листинге требует  , а это весьма далеко от заявленного в статье. Щас добавлю ссылку на сайт с оригинальными исходниками. --Olvin 00:16, 26 сентября 2010 (UTC)Ответить
Псевдокод переделал, добавил пояснение. Проверил, вроде теперь работает правильно. --Olvin 22:52, 26 сентября 2010 (UTC)Ответить

C-style

править

if (is_prime[i]) && (i % 3 <> 0) && (i % 5 <> 0) - проснитесь это же не си!!! if (is_prime[i]) && (i % 3 != 0) && (i % 5 != 0) = вот это СИ !!! Прошу исправить это в статье(или исправить меня,если я не прав :-) ) — Эта реплика добавлена с IP 95.81.44.251 (о)

  Сделано. Проверьте насколько правильно. Поправьте, если что не так, сами. --Olvin 22:38, 23 декабря 2010 (UTC) (среди программистов особенной непримиримостью выделяются две категории: наСильники и пасквилянты).Ответить
Код из преамбулы надо бы убрать куда-нить… «Ты любишь Паскаль?» — итальянца спроси // Рупь за сто он ответит уверенно — «Си!» --Illythr (Толк?) 22:48, 23 декабря 2010 (UTC)Ответить
Как простейший вариант - сделать для него отдельный раздел типа «Упрощённая версия алгоритма». И оглавление окажется в начале. Иначе надо статью перекраивать. А лень же. --Olvin 23:57, 23 декабря 2010 (UTC)Ответить

Не знаю, каким магическим образом мой код оказался в википедии. Заранее прошу прощения за его кривость и преждевременные оптимизации. Это была вторая написанная мной программа на этом языке. 178.212.81.66 12:39, 8 марта 2011 (UTC)Ответить

Описание

править

Думаю, кроме програмы, нужно дать обыкновенное математическое описание, примерно как здесь: http://cybern.ru/atkin.html Ведь не все же програмисты 37.145.121.40 20:42, 2 апреля 2014 (UTC)Ответить

Такое описание есть в разделе Объяснение. Наверное, описание стоит перенести в начало статьи, перед псевдокодом.   Сделано
А вот добавленный вами источник (с описанием) не является авторитетным и содержит весьма серьёзные неточности (в п.4 все до единого утверждения некорректны), поэтому ссылку на этот источник из статьи я удалил. --Olvin 00:30, 5 апреля 2014 (UTC)Ответить