пятница, 16 октября 2015 г.

irregularquiz

Представляю Вашему вниманию сайт-викторину для тренировки запоминания форм склонения неправильных глаголов в английском языке: https://irregularquiz.herokuapp.com/.
Надеюсь, для кого это окажется полезным.

Исходные тексты расположены на github. Принимаю критику вместе с пулл-реквестами :)

воскресенье, 11 октября 2015 г.

Вычисление постоянных Бруна (ч.1)

В предыдущем посте писал о поиске ("просеивании") простых чисел в заданном интервале. Сегодня могу рассказать для чего это было сделано, какие проблемы возникают и как их будем решать в дальнейшем. 

суббота, 1 августа 2015 г.

Нахождение простых в данном интервале натуральных чисел: таблица Сандарама


Недавно, когда пришлось находить простые числа на Python, решил немного математики в это добавить. Находя списки простых чисел на некотором интервале, так называемое "просеивание", понял, что обычным способом стандартное решето Эратосфена применять нельзя: оно подходит лишь для первых чисел. То есть можно с его помощью найти, скажем все простые 2 до 1000000000, или от 2 до 2000000000, но чтобы найти с помощью решета простые от 1000000000 до 2000000000, надо найти все простые от 2 до 2000000000 и потом откинуть те, что меньше 1000000000. И вычислительная сложность с углублением вдаль натурального ряда растёт не оправдано стремительно.

 Подумал, как бы сам процесс просеивания Эратосфена расширить для произвольных натуральных интервалов и натолкнулся на описание метода индийского математика Сандарама. В приведенной статье метод доходчиво объясняется, приводить его не буду.

В общем, остаётся написать код. Используем numpy и получаем действительно быстрые расчеты на числах порядка 10^18.  Использовался Python 2.7. Зачем именно человеку такое может понадобится? Об этом, вероятно, расскажу в следующих статьях.