Сколько выиграют 100500 билетов известной российской лотереи?

Так, как я не верю в удачу - я просто их спарсил. Написал небольшую программу и спарсил 100500 билетов с известного сайта. Каждый из этих билетов я мог купить, но откуда у меня 15+ млн. на такой эксперимент?

А решил провести этот эксперимент, т.к. вижу, как многие покупают по 100 билетов, по 1000. Можно ли выиграть, покупая больше билетов?

Заодно ещё можно ответить на некоторые вопросы. Например тут (Странности в генерации числового поля Русское лото) Аноним пытался найти билеты, в которых только 2 числа в двух карточках в колонке 80-90. Проверил! Их действительно не существует. А карточки, в которых 2 числа в других колонках - реально есть.

Есть ли сильно редкие числа или сильно частые? Нет. Все числа распределены примерно одинаково.

18 февраля проверю сколько можно выиграть, купив билетов на 15 млн. и напишу результат тут.

6096
Автор поста оценил этот комментарий
ответный пост

Провел свой эксперимент. Давайте еще раз проговорим в чем он заключался.

1. Я не покупал эти билеты - я спарсил их. Это как зайти на сайт лотереи и выписать все билеты. Но программисты ленивые (привет ЛЛ) и поэтому я написал программу, которая их выписала за меня.

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

3. Я хочу посмотреть имеет ли смысл покупать больше билетов, чтобы увеличить шанс выиграть.

Я спарсил 100500 билетов, что эквивалентно 15+ млн. рублей. Проверил их в очередном розыгрыше, посчитал солько бы выиграл, если бы реально их купил.

В первом туре не выиграл ни один билет, как во втором, третьем и четвертом. А потом как поперло )). И куча билетов оказались выиграшными. И в итоге я бы выиграл 3 702 464 руб, если бы купил все эти билеты. Математика такая: около 25% затраченных средств я вернул бы обратно.

Вывод: Покупать больше билетов не имеет смысла!

Тут все выпавшие бочонки и сколько билетов выиграло на каком из них: https://github.com/oparinpv/stoloto/blob/main/Выпавшие бочонки.xlsx

Тут все билеты, которые могли бы выиграть с номерами и суммами: https://github.com/oparinpv/stoloto/blob/main/Выигравшие билеты.xlsx

Далее пойдет техническая часть. Если вам интересен сам код и проблемы, с которыми я столкнулся при написании кода - читайте далее.

Писал весь код на 1С. Конечно мог писать и на java и на php, но на 1С мне было проще и быстрее. И исходники приложу ниже в виде расширения для 1С.

Проблема №1.

Когда парсишь билеты - сайт отдает примерно 25 000 билетов относительно легко, а дальше начинает отдавать те билеты, которые были ранее. Хотя алгоритм повторяет поведении кнопки "Другие билеты" на сайте. Спустя сутки проблема уходит и опять парсишь 25 000 билетов.

Проблема №2.

Между вытаскиванием бочонков в третьем туре проходит 5-10 сек, а у меня запрос отрабатывал 12-25 сек. на проверку соответствия всех вытащенных бочонков билетам в базе данных. В итоге после 50 бочонков я не успел их проверить в режиме онлайн и пришлось ждать выложенных результатов, чтобы проверить их все. А я проверял всего 100к билетов. Сейчас-то понятно, что там стоит сервер гораздо мощнее моего бука, но как они выходили из этой ситуации в 90-х? Я предполагаю, что там работал целый отдел из 50-100 человек. И все проданные билеты делились между этими людьми. И каждый проверял свой список билетов, вводя выпавший номер в его ЭВМ.

Для тех, кому интересно повторить эксперимент - расширение для 1С, которое парсит, хранит и проверяет результаты: https://github.com/oparinpv/stoloto/blob/main/РусскоеЛото.cfe

Для тех, кто хочет проверить корректность моих подсчетов и/или составить более оптимальный запрос проверки - база данных 1С с билетами, которые я спарсил: https://github.com/oparinpv/stoloto/blob/main/Билеты Столото 18.02.24.dt

Показать полностью
комментарии (532)
124
Автор поста оценил этот комментарий

Я правильно понял задумку.

Ты спарсил 100500 билетов (их номера) из открытого источника, я так полагаю при выборе билетов на официальном сайте.

Ждёшь 18 число (когда этот тираж будет проводиться)

И потом просто спарсишь результаты и сведёшь с твоими данными и получишь результат. Сколько проёбано.

Вопросы:

1) Билеты которые не будут проданы, они по факту не участвуют в розыгрыше, но потенциально могут быть выигрышными. Как ты будешь считать их, просто -150руб?

2) Почему нельзя спарсить по результатам 1-2-5-10 прошедших тиражей случайные 100500 билетов из каждого тиража и свести результаты.

Так ты хотя бы обезопасишь себя на предмет "не участвовавших" билетов.

раскрыть ветку (1)
109
Автор поста оценил этот комментарий

Спарсить номера билетов и потом проверить - слишком скучно.

Я спарсил номера билетов и цифры на них.

Буду 18 числа себя развлекать, забивая выпавшие цифры и смотреть сколько билетов могли бы выиграть.

Ну и за эти 7 дней хочу получить какую-нибудь статистику. По типу: каких комбинаций меньше, больше.

Мне эта задача очень интересна. Ведь чтобы проверить комбинацию из 2 чисел - нужно проверить 90*90*100000 вариантов. А это несколько часов вычислений. Смогу ли я это сделать быстрее - вот интересный вопрос.

показать ответы
7
Автор поста оценил этот комментарий
Нужна лига разоблачения столото
раскрыть ветку (1)
12
Автор поста оценил этот комментарий

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

1
Автор поста оценил этот комментарий

Он типа «купил» 15 млн билетов, т.е. просто списком выбрал 15 млн разных вариантов, и хочет посмотреть результат.

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Не. 15 млн. - это в денежном выражении.

100500 билетов типа купил, но не купил ))

показать ответы
4
Автор поста оценил этот комментарий
А есть репа с кодом? Любопытно посмотреть
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Пока нет.

Если не забуду - закину к 18 числу.

показать ответы
Автор поста оценил этот комментарий
Тогда снова не понимаю. Как можно узнать комбинацию в номере и е купив его? Или билеты в открытом доступе, а подтверждается факт владения билетом только при покупке его типа подтверждающий чек приходит?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Да. Посмотреть можно и бесплатно. А вот получить шанс на реальный выигрыш или проигрыш только купив билет

Автор поста оценил этот комментарий

А какой первый язык был? Если не секрет

раскрыть ветку (1)
Автор поста оценил этот комментарий

Vb и pascal. Как-то оба первыми были

Автор поста оценил этот комментарий

Очень странный набор

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ничего странного.

Занимаюсь в основном решением бизнес-задач и стараюсь не придумывать велосипеды, а использовать готовые решения.

1с для учёта

php, js для сайтов

Джава для конкурсов по программированию.

Сервер на linux для pet проектов.

показать ответы
Автор поста оценил этот комментарий
Т.е. все билеты есть в онлайне. И можно их посмотреть? И остается полагать, что каждому из них все таки где-то присутствует физический, бумажный билет?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет. В онлайн свои, бумажные свои. Можно купить и так и так

показать ответы
Автор поста оценил этот комментарий
Как покупные билеты можно спарсить? Можете объяснить, пожалуйста?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Заходим на сайт, выписываем номера билетов и цифры в них.

Если хотим быстро - пишем программу, которая заходит на сайт, выписывает их и сохраняет куда-нибудь.

Это и есть парсинг.

показать ответы
Автор поста оценил этот комментарий

Пайтонист, что ли?

раскрыть ветку (1)
Автор поста оценил этот комментарий

У меня много имён ))

1с-ник, пхп-шник, джавист, линуксойд.

Но не пайтонист.

показать ответы
Автор поста оценил этот комментарий

Лишних 15 мультов у человека. Где я не туда свернул…?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет. Ты правильно свернул... наверное.

У меня нет 15 млн. Я спарсил билеты с сайта.

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

Вот я их спарсил (заставил программу выписать их и сохранить)