|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
26.12.2008, 05:35 | #1 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Простые числа: их количество (по алгоритму от Ламер_001)
Код:
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 27.12.2008 в 05:27. Причина: учёт кнопки Cancel (в InputBox’е) и того случая, когда N = 1; утроение (при N ~ 10 млн — удвоение) скорости алгоритма: замена Fix(N / 2) на Fix(Sqr(N)). Подсказал Эратосфен! |
26.12.2008, 05:48 | #2 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Кнопку делать не обязательно: запускается и прямо из среды VBA.
Для 10 млн (на процессоре 2,7 ГГц) "скорость продвижения" около 700 тыс. натуральных чисел в секунду, и Word работает 15 секунд (а Excel — 17). Для бóльших же чисел время вообще неудобоваримо — и я эту возможность просто отключил, ведь легче найти в Сети. Например, при при N, равном 100 млн, на подсчёт требуется 260 секунд (Word), а то и 315 (Excel). Но результат при этом абсолютно точный: 5761455 чисел. Спасибо, Ламер_001!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 27.12.2008 в 05:14. |
27.12.2008, 06:23 | #3 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
До 200 млн имеется 11 078 937 простых (что равно 136777·81).
Врямя счёта при этом всего в 2 раза больше, чем для 100 млн. То есть скорость почти не зависит от N. Алгоритм линейный! Конечно, есть вообще мгновенный: N/(ln(N)–1) (по Лежандру) или (с погрешностью до 11%, по теореме Чебышёва) — интегральный логарифм от N. Но это, как говорится, вокруг да около.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 27.12.2008 в 17:01. Причина: теория. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
простые числа.окружность. | Verochka | Помощь студентам | 15 | 31.12.2008 08:22 |
Простые числа | Verochka | Помощь студентам | 14 | 02.12.2008 20:30 |
Простые числа | werser | Помощь студентам | 8 | 18.06.2008 07:24 |
простые числа | Акашаев Нурлан | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.12.2007 12:23 |