Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перебор простых чисел. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Перебор простых чисел.
Rioran Дата: Понедельник, 02.02.2015, 13:46 | Сообщение № 1
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Всем привет и хорошего настроения!

Решил опробовать силы на поприще поиска простых чисел. Поставил перед собой задачу - придумать собственный алгоритм перебора. Что из этого получилось - можете посмотреть во вложении =) Отдельные грани вопроса под спойлерами.

Предыстория вопроса.

Мимолётный взгляд на тематику.

Особенности моего алгоритма.

Анекдот в тему.
К сообщению приложен файл: Rioran_Sieve.xlsb (17.7 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Понедельник, 02.02.2015, 13:56
 
Ответить
СообщениеВсем привет и хорошего настроения!

Решил опробовать силы на поприще поиска простых чисел. Поставил перед собой задачу - придумать собственный алгоритм перебора. Что из этого получилось - можете посмотреть во вложении =) Отдельные грани вопроса под спойлерами.

Предыстория вопроса.

Мимолётный взгляд на тематику.

Особенности моего алгоритма.

Анекдот в тему.

Автор - Rioran
Дата добавления - 02.02.2015 в 13:46
MCH Дата: Понедельник, 02.02.2015, 15:37 | Сообщение № 2
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Поставил перед собой задачу - придумать собственный алгоритм перебора

Роман, данный вопрос уже был рассмотрен Эратосфеном более двух тысяч лет тому назад.

В файле пример подсчета количества простых чисел до определенного. Решено с помощью решета Эратосфена с делением диапазонов чисел на блоки.
Алгоритм достаточно быстрый.
Вывод чисел не предусмотрен, в виду большого их количества (но реализовать вывод в файл или на лист - не проблема).

Публиковалось на Cyberforum
Подсчет количества простых чисел от 1 до 100 млрд. на моем компьютере составил 42 минуты.
К сообщению приложен файл: EratospheneBloc.xls (55.5 Kb)
 
Ответить
Сообщение
Поставил перед собой задачу - придумать собственный алгоритм перебора

Роман, данный вопрос уже был рассмотрен Эратосфеном более двух тысяч лет тому назад.

В файле пример подсчета количества простых чисел до определенного. Решено с помощью решета Эратосфена с делением диапазонов чисел на блоки.
Алгоритм достаточно быстрый.
Вывод чисел не предусмотрен, в виду большого их количества (но реализовать вывод в файл или на лист - не проблема).

Публиковалось на Cyberforum
Подсчет количества простых чисел от 1 до 100 млрд. на моем компьютере составил 42 минуты.

Автор - MCH
Дата добавления - 02.02.2015 в 15:37
Rioran Дата: Понедельник, 02.02.2015, 16:02 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
вопрос уже был рассмотрен Эратосфеном

Я могу поздравить этого парня =) Теперь и я слегка "рассмотрел вопрос" =)

Публиковалось на Cyberforum

Там даже кто-то VB приводит вместо VBA.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщение
вопрос уже был рассмотрен Эратосфеном

Я могу поздравить этого парня =) Теперь и я слегка "рассмотрел вопрос" =)

Публиковалось на Cyberforum

Там даже кто-то VB приводит вместо VBA.

Автор - Rioran
Дата добавления - 02.02.2015 в 16:02
MCH Дата: Понедельник, 02.02.2015, 22:07 | Сообщение № 4
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Теперь и я слегка "рассмотрел вопрос"

Будут новые идеи и реализации?

Публиковалось на Cyberforum
Там даже кто-то VB приводит вместо VBA.

Роман, какая разница на чем программировать алгоритм на VB или VBA? (за исключением того, что в VBA можно использовать объектную модель приложения)
что есть некое Решето Аткина - самый оптимальный алгоритм по скорости и количеству затрачиваемых ресурсов

Спасибо за подсказку, не знал о таком, будет время - поковыряю алгоритм
 
Ответить
Сообщение
Теперь и я слегка "рассмотрел вопрос"

Будут новые идеи и реализации?

Публиковалось на Cyberforum
Там даже кто-то VB приводит вместо VBA.

Роман, какая разница на чем программировать алгоритм на VB или VBA? (за исключением того, что в VBA можно использовать объектную модель приложения)
что есть некое Решето Аткина - самый оптимальный алгоритм по скорости и количеству затрачиваемых ресурсов

Спасибо за подсказку, не знал о таком, будет время - поковыряю алгоритм

Автор - MCH
Дата добавления - 02.02.2015 в 22:07
Rioran Дата: Вторник, 03.02.2015, 01:21 | Сообщение № 5
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Будут новые идеи и реализации?

Пока нет. У меня отпуск, а я уже два дня потратил на Java и VBA, как будто нет для меня других способов отдохнуть =) Непорядок =)

какая разница на чем программировать алгоритм на VB или VBA

Не знаю. В начале моего VBA пути я палкой VB потыкал-потыкал, ужаснулся какой разный у программ синтаксис и с тех пор стараюсь о пугающем VB не думать =) Для меня сейчас есть только один Visual Basic - тот, что для приложений. Всё остальное - ересь и извращение =) Да и что-то тогда материалов толковых не нашёл. По VBA пруд-пруди, а VB как будто совершил убийство и старается за собой заметать следы.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Вторник, 03.02.2015, 01:21
 
Ответить
Сообщение
Будут новые идеи и реализации?

Пока нет. У меня отпуск, а я уже два дня потратил на Java и VBA, как будто нет для меня других способов отдохнуть =) Непорядок =)

какая разница на чем программировать алгоритм на VB или VBA

Не знаю. В начале моего VBA пути я палкой VB потыкал-потыкал, ужаснулся какой разный у программ синтаксис и с тех пор стараюсь о пугающем VB не думать =) Для меня сейчас есть только один Visual Basic - тот, что для приложений. Всё остальное - ересь и извращение =) Да и что-то тогда материалов толковых не нашёл. По VBA пруд-пруди, а VB как будто совершил убийство и старается за собой заметать следы.

Автор - Rioran
Дата добавления - 03.02.2015 в 01:21
MCH Дата: Четверг, 05.02.2015, 01:11 | Сообщение № 6
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Тестировали на переборе чисел до миллиона, алгоритм друга - в среднем 500-600 мс (не считая вывода на экран) на разных машинах, мой алгоритм - от 60 до 150 мс. И вдруг пришла мысль - а почему бы не перенести общий смысл алгоритма на VBA?

Роман, а моим алгоритмом (т.е. решетом Эратосфена, если быть честным, в моей интерпретации) какова скорость по твоим измерениям?
 
Ответить
Сообщение
Тестировали на переборе чисел до миллиона, алгоритм друга - в среднем 500-600 мс (не считая вывода на экран) на разных машинах, мой алгоритм - от 60 до 150 мс. И вдруг пришла мысль - а почему бы не перенести общий смысл алгоритма на VBA?

Роман, а моим алгоритмом (т.е. решетом Эратосфена, если быть честным, в моей интерпретации) какова скорость по твоим измерениям?

Автор - MCH
Дата добавления - 05.02.2015 в 01:11
Rioran Дата: Среда, 18.02.2015, 11:03 | Сообщение № 7
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
MCH, на прошлой неделе поверхностно посмотрел твой код. Сходу как задать ровно миллион для перебора - не нашел. Наверно, слишком активно отдыхал во время отпуска =) Сейчас нет возможности уделить этому внимание. Не мог бы ты настроить код на перебор лимона и добавить счётчик миллисекунд?


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеMCH, на прошлой неделе поверхностно посмотрел твой код. Сходу как задать ровно миллион для перебора - не нашел. Наверно, слишком активно отдыхал во время отпуска =) Сейчас нет возможности уделить этому внимание. Не мог бы ты настроить код на перебор лимона и добавить счётчик миллисекунд?

Автор - Rioran
Дата добавления - 18.02.2015 в 11:03
MCH Дата: Среда, 18.02.2015, 13:13 | Сообщение № 8
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Сходу как задать ровно миллион для перебора - не нашел

Самая верхняя строчка в процедуре: константа n.
Нужно записать
[vba]
Код
Const n As Double = 1000000
[/vba]
Расчет милисекунд не делал (и даже не знаю как его прикрутить), но там считается в секундах, у меня подсчет колиества простых чисел в диапазоне от 1 до 1 млн занимает 0,059 - 0,07 сек
 
Ответить
Сообщение
Сходу как задать ровно миллион для перебора - не нашел

Самая верхняя строчка в процедуре: константа n.
Нужно записать
[vba]
Код
Const n As Double = 1000000
[/vba]
Расчет милисекунд не делал (и даже не знаю как его прикрутить), но там считается в секундах, у меня подсчет колиества простых чисел в диапазоне от 1 до 1 млн занимает 0,059 - 0,07 сек

Автор - MCH
Дата добавления - 18.02.2015 в 13:13
Rioran Дата: Четверг, 19.02.2015, 11:45 | Сообщение № 9
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
MCH, спасибо. Я сначала так и подумал, но витиеватость дальнейших вычислений призвала к осторожности.

Полез искать надежный и валидный таймер. На основании ЭТОЙ темы пришёл к выводу, что провести измерение можно с помощью библиотек Windows, опирающихся на тики процессора. Такое измерение ненадёжно, воспроизводимость результатов низкая, переносимость на другие машины не сравнимая.

Позже сравню алгоритмы на больших переборах, сравнивая целые секунды исполнения.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеMCH, спасибо. Я сначала так и подумал, но витиеватость дальнейших вычислений призвала к осторожности.

Полез искать надежный и валидный таймер. На основании ЭТОЙ темы пришёл к выводу, что провести измерение можно с помощью библиотек Windows, опирающихся на тики процессора. Такое измерение ненадёжно, воспроизводимость результатов низкая, переносимость на другие машины не сравнимая.

Позже сравню алгоритмы на больших переборах, сравнивая целые секунды исполнения.

Автор - Rioran
Дата добавления - 19.02.2015 в 11:45
MCH Дата: Среда, 11.03.2015, 18:49 | Сообщение № 10
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Позже сравню алгоритмы на больших переборах

Роман, есть какие-нибудь результаты?
 
Ответить
Сообщение
Позже сравню алгоритмы на больших переборах

Роман, есть какие-нибудь результаты?

Автор - MCH
Дата добавления - 11.03.2015 в 18:49
Rioran Дата: Пятница, 20.03.2015, 17:21 | Сообщение № 11
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Роман, есть какие-нибудь результаты?

В Экселе мой алгоритм не выдерживает никакой конкуренции. Надо позже протестировать на Java.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщение
Роман, есть какие-нибудь результаты?

В Экселе мой алгоритм не выдерживает никакой конкуренции. Надо позже протестировать на Java.

Автор - Rioran
Дата добавления - 20.03.2015 в 17:21
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!