Сколько счастливых билетов в 999999

от admin

Счастливобилетчикам — по носу математикой


Искать счастье бесполезно, главное — где оно найдет тебя. Некоторые, в том числе и я, заимел привычку проверять маршрутные проездные билеты на предмет этого «счастья» — билет можно назвать «счастливым», если сумма его первых трех цифр равняется сумме трех остальных. Забавное такое, знаете ли, занятие.

Но иногда бывает так, что счастливые билеты попадаются очень часто, а иногда — их не бывает и несколько месяцев. Это если ездить один раз в день по какому-нибудь маршруту.

И тут приходит замечательный вопрос: «сколько всего существует счастливых билетов?», а еще лучше, когда приходит математика с ее не менее красивым вопросом: «какова вероятность покупки счастливого билета?»

Для человека, который постиг азы программирования, не составит большого труда написать программу для подсчета этого самого количества счастливых билетов — обычным методом перебора. Что сделал и я, получив результат — 55 251 билет, который говорит, что примерно каждый восемнадцатый билет будет счастливым.

Но теперь представьте себе образ кондуктора — человека-сумка-через шею, с несколькими килограммами мелочи и катушкой билетов, которые он выдает последовательно за определенную плату. И что будет, если вы станете счастливым обладателем билета с номером «010100»? Правильно, счастливобилетчиков на этом маршруте не будет, пока кондуктор не покончит с этой катушкой.

Теперь попробуем ответить на этот вопрос математически.

Максимально возможно счастливый билет «999999» имеет сумму триад равную 27 = 9+9+9 = 9+9+9. Билетов с суммой счастливых цифр равной 1 будет 9, это билеты:

Билетов с суммой счастливых цифр равной 3 будет 36. Можете посчитать сами — любым методом. Составим таблицу для каждой такой комбинации:

Получается, что максимальное количество счастливых билетов будет в группах, сумма триад которых равняется 13 или 14.

В таких катушках каждый девятый билет будет счастливым, пока сумма двух цифр одной триады не превзойдет значения 13…14. Следовательно, можно логически предположить, что каждый 18 билет в такой группе будет счастливым. А ввиду такого «классического» распределения, то и во всей группе билетов от 000001 до 999999.

Осталось вспомнить один из методов теории вероятностей, и посчитать:

Получая результат с хорошей точностью, с отклонением ≈ 3%.

А еще, счастливые билеты нужно съедать, чтобы ощутить этот прилив вселенского счастья.

Из номеров 000 001 . 999 999 нужно найти все счастливые билеты (как сделать с помощью разбивания на масив char ) [закрыт]

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

Закрыт 7 лет назад .

αλεχολυτ's user avatar

Daria Yemelianova's user avatar

Можно меньше итераций делать.

Сумм мало: от 1 до 18. Достаточно пробежать от 1 до 999 и сохранять очередное число в массив, в зависимости от суммы его цифр. Каждой сумме соответствует массив тех чисел, из которых она получается.

Напр. для суммы 1 это будет массив из 1, 10 и 100.

Далее остаётся составить все возможные пары из каждого массива:

Так не будет «холостых» вариантов в циклах. У меня получился 55251 счастливый билет. 999+55251=56250 итераций вместо 999999. А вероятность получить счастливый билет, выходит, чуть больше 1/20.

Задача о счастливых билетах

Задача о счастливых билетах — условное название комбинаторной задачи подсчета количества последовательностей цифр длины 6, начиная с 000000 и до 999999, у которых сумма первых трех цифр равна сумме трех последних. Система счисления при этом предполагается десятичной, то есть цифры берутся от 0 до 9. Название задачи происходит от используемого в некоторых течениях городской культуры в СССР и России термина «счастливый билет» в отношении билетов общественного транспорта с суммой первых трех цифр равной сумме трех последних цифр или аналогичными свойствами. Задача может быть решена перебором, существуют и явные формулы ее решения. Возможное обобщение задачи — решать ее при четном числе цифр 2n и в m-ичной системе счисления (m, n — натуральные числа), то есть вычислять количество последовательностей цифр длины 2n, у которых сумма первых n цифр равняется сумме n последних цифр, а сами цифры берутся от 0 до m. Разбиралась в нескольких публикациях в журнале «Квант» в 1970-х и 1980-х годах, согласно С. К. Ландо предлагалась А. А. Кирилловым на своем семинаре в МГУ в 1970-е годы.

Содержание

Явные формулы решения [ править ]

Методом производящих функций в книге С. К. Ландо «Производящие функции» выводится следующая формула для числа 6-значных счастливых билетов в десятичной системе счисления.

Этот результат можно привести к явным формулам, использующим интеграл от тригонометрических функций, приписываемых в книге С. Ландо математику В. Дринфельду, который получил их будучи десятиклассником. В публикациях журнала «Квант» говорится, что формулы в виде интегралов прислали в журнал читатели.

Решение методом включения-исключения [ править ]

Таким образом, по принципу включения-исключения число 6-значных 10-ичных счастливых билетов равно

Ее также можно вывести с помощью производящих функций.

Рекуррентное соотношение [ править ]

Отсюда получается рекуррентное соотношение, с помощью которого можно последовательно вычислять числа N n ( k ) <\displaystyle N_(k)> :

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

Сколько счастливых билетов в 999999

Счастье за деньги не купишь, гласит народная мудрость. Зато можно, хоть и случайно, купить счастливый билетик. Мы воспринимаем это событие как удачу, потому что оцениваем его вероятность как низкую. Но так ли уж редко это происходит на самом деле?

Эта статья была опубликована в журнале OYLA №9(37). Оформить подписку на печатную и онлайн-версию можно здесь.

Сперва проясним, что такое счастливый билет. Любой билет, в кино или на поезд, имеет уникальный номер. Как правило, его присваивают последовательно начиная с 0 и до некоторого значения. Делается это для удобства учёта. Мы будем рассматривать билеты, у которых номер состоит из 6 цифр: от 000000 до 999999. Определений счастливого билета несколько, но мы остановимся на наиболее популярном: билет называется счастливым, если сумма первых трёх цифр его номера равна сумме последних трёх цифр. Прежде чем начать охоту за билетами, давайте ответим на частые вопросы, с ними связанные. В этом нам поможет математика.

Переведём этот вопрос на формальный язык математики: существует ли такой счастливый билет ABCDEF, что ABCDEF + 1 тоже будет счастливым? Иначе говоря, для этих чисел должно выполняться равенство:

A + B + C = D + E + F

A + B + C = D + E + F + 1

Если первое из шестизначных чисел оканчивается не на 9 (F9), то при прибавлении единицы сумма последних трёх цифр изменится, а первых трёх нет, значит, билет перестанет быть счастливым. Если же на конце было 9 (F = 9), то сумма последних трёх цифр уменьшится (если на конце более трёх девяток, то уменьшится и сумма первых трёх, но не настолько). Итак, счастливые билеты подряд не идут. Но, с другой стороны, подряд они могут идти через девятку: например, 100001 и 100010. Более того, иногда цепочка «через девять» бывает весьма длинной: 900009, 900018, 900027, …, 900090. Это если нам повезло с началом. А если начало — 998999? Тогда ближайший счастливый билет будет аж через тысячу! Действительно, дальше все билеты будут начинаться с 999, так что на конце для счастья тоже надо иметь 999…

Для начала попробуем приблизительно оценить их количество. Несложная оценка снизу: нам подходят все билеты вида АВСАВС. Сколько таких билетов? А столько же, сколько всего комбинаций первых трёх цифр — 1000. Так что счастливых билетов точно не меньше 1000. Неплохо, но мы не учли кучу вариантов, когда цифры разные — например, те же 900018. Можно попытаться учесть перестановки цифр АВС, то есть билеты вида АВСВСА, АВСАСВ и т. д. Но, увы, просто умножить на 6 (количество возможных перестановок цифр А, В и С) не получится: если среди них есть совпадающие цифры, то мы имеем уже не 6 вариантов, а 3 или 1.

Впрочем, эту идею можно реализовать по-другому. Рассмотрим все комбинации следующего вида: на первых трёх местах стоят цифры А, В и С, на вторых трёх — те же цифры, но в произвольном порядке. Сколько же таких вариантов набежит? На первом месте может стоять любая из 10 цифр, то есть пока 10 вариантов. Для любой первой цифры есть 9 вариантов второй, значит, их уже 90. Для каждого из этих 90 существует 8 вариантов третьей цифры — всего, стало быть, 720. И теперь нам осталось умножить 720 на количество способов переставить три фиксированные различные цифры по оставшимся трём местам. Как мы уже поняли, таких вариантов 6, значит, общее количество чисел — 4320. Однако и это оценка снизу, причём «сильно снизу»: мы всё ещё не учитываем варианты с разными цифрами.

Читать:
Imtranslator net что это

Хорошо, попробуем теперь оценить искомую сумму сверху. Заметим, что, если каждый счастливый билет ABCDEF заменить на билет ADBECF, количество не изменится, значит, можно просто посчитать количество шестизначных чисел, у которых сумма цифр на чётных местах равна сумме на нечётных. А это очень похоже на признак делимости на 11! Напомним, если в числе разность между суммой цифр на чётных и нечётных местах делится на 11, то и число делится на 11. Значит, все наши счастливые билеты «второго типа» делятся на 11, а тогда их не больше, чем чисел, делящихся на 11, то есть 90909 (1000000 : 11). Получается, что счастливых билетов не больше 90909. Впрочем, это также очень грубая оценка, ведь вовсе не каждое число, делящееся на 11, имеет равные суммы цифр на чётных и нечётных местах — например, 000506. Так что счастливых билетов существенно меньше. Давайте же точно подсчитаем, сколько их!

Чтобы посчитать точное количество, заменим каждую из трёх последних цифр на дополняющую её до 9. D заменим на K = (9 – D), E на M = (9 – E), F на N = (9 – F). Так как исходно A + B + C = D + E + F, то теперь для числа ABCKMN:

A + B + C + K + M + N

A + B + C + 9 – D + 9 –E + 9 – F

Итак, количество счастливых билетов в точности равно количеству чисел от 000000 до 999999, сумма цифр которых равна 27. Стало немного легче, но предстоит ещё немало работы. Сперва вычислим искомое количество. Для этого нарисуем таблицу, в которой по горизонтали укажем количество используемых цифр, а по вертикали — искомую сумму. Таким образом мы последовательно ответим на все вопросы вида «Сколько существует способов представить число k в виде суммы n цифр». Делать это мы будем рекурсивно, то есть выражать большие значения через меньшие. Поехали!

Очевидно, что в первом столбце у нас будет по одному способу получить числа от 0 до 9 (с помощью одной цифры), а всё, что больше 9, — 0 способов.

Далее, если перейти ко второму столбцу и взять, допустим, число на пересечении второго столбца и шестой строки (k = 5), сколько существует способов представить 5 в виде суммы двух цифр? Логика тут простая. В качестве второй цифры мы можем выбрать любой из вариантов от 0 до 5. Если выбираем 0, то сумма всех цифр, кроме второй, должна быть равна 5 (да-да, понятно, что в данном случае «всех, кроме второй» — это только первая цифра, но давайте сразу составим алгоритм в общем виде). Если выбираем в качестве второй цифры 1, то сумма оставшихся должна быть равна 4 и т. д. Но ведь тогда мы просто должны сложить способы из предыдущего столбца — для всех чисел от 0 до 5! И получить 6 вариантов.

Ещё пример: допустим, я хочу заполнить во втором столбце поле для k = 11. Несложно увидеть, что тогда вторая цифра 0 или 1 не даёт ни одного варианта, так как первая не может быть больше 9. Иначе говоря, мы обращаемся к пустым ячейкам первого столбца, которые соответствуют k = 10 и k = 11. Впрочем, можно считать, что там не пустота, а нули — это не важно. Так или иначе, мы должны сложить все варианты из предыдущего столбца, от k = 2 до k = 11. Это даёт 8. Таким же образом заполняем второй столбец. Последнее число мы впишем при k = 18, так как максимальная сумма двух цифр равна 18.

Переходим к третьему столбцу. Давайте ещё раз посмотрим на примере, как он заполняется. Допустим, k = 15. Тогда, поскольку последняя цифра может быть от 0 до 9, сумма первых двух должна быть равна 6, 7, 8, 9, …, 15. А для всех этих чисел мы уже знаем количество способов представить их в виде суммы двух цифр. Берём эти значения из таблички (это числа 7, 8, 9, 10, 9, 8, 7, 6, 5 и 4), складываем их и получаем результат: 73 способа представить 15 в виде суммы трёх цифр.

Действуя аналогично, продолжаем заполнять табличку. Занятие это весьма муторное, но конечное. Особенно если написать программу. Но можно сделать всё и руками — главное, нигде не обсчитаться. И если довести таблицу до шестого столбца, число, соответствующее k = 27, и будет искомым ответом. Если вы не ошибётесь, то получите ровно 55 252.

Альтернативный подход

Прежде чем делать выводы, попробуем подсчитать количество счастливых билетов другим способом. Например, так: ограничимся в предыдущем решении первыми тремя столбцами. В третьем мы получили количество способов представить число k в виде суммы трёх цифр — мы сделали это для любого k от 0 до 27. Теперь забудем наши соображения о девятках (про замену цифр на дополняющие до 9) и рассмотрим произвольный счастливый билет ABCDEF. Пусть A + B + C = k. Сколько есть способов подобрать такие А, В и С? Это мы знаем из таблички — допустим, D3(k).

А сколько способов подобрать вторые три цифры? Да столько же, ведь речь всё о тех же вариантах представить число k как сумму трёх слагаемых! Стало быть, так как нас устраивают любые комбинации, общее количество способов подобрать счастливый билетик, у которого сумма первых трёх цифр равна k, будет (D3k2). Следовательно, всё, что осталось сделать, — это взять числа из третьего столбца (1, 3, 6, 10, …, 1), каждое из них возвести в квадрат и полученные квадраты сложить. Если всё это проделать, получится то же число 55 252.

Да, есть и более короткая комбинаторная формула, но вывести её гораздо сложнее. Не будем приводить полное рассуждение — лишь обозначим идею и выпишем окончательную формулу. Идея в следующем: вернёмся к тому, что нам надо посчитать количество способов представить 27 как сумму 6 цифр. Сделаем это так: возьмём 27 яблок и поставим среди них 5 перегородок. Тогда количество яблок до первой перегородки будет первым слагаемым суммы, от первой перегородки до второй — вторым слагаемым и т. д. Обратите внимание, что перегородки могут стоять подряд, и в этом случае слагаемое окажется равным нулю. Значит, задача сводится к подсчёту количества способов расставить перегородки. Но заметим, что всего у нас получилось 32 объекта (27 яблок и 5 перегородок) и мы должны выбрать местоположение для 5 перегородок (на остальные места встанут яблоки). Сколько же существует способов выбрать 5 мест из 32? C32, если вы знакомы с комбинаторикой (впрочем, если не знакомы — столько же).

Проблема в том, что это ещё не ответ. Мы посчитали количество способов представить 27 в виде суммы 6 слагаемых, но пока не учли, что ни одно слагаемое не должно быть больше 9. Если же учесть это, итоговая формула будет такой:

Это число посчитать гораздо проще, и мы тоже получим 55 252 — можете убедиться сами.

Итак, что же мы получили? Мы вычислили, что примерно 5,5% билетов являются счастливыми, — иначе говоря, в среднем каждый восемнадцатый. Не так уж и редко, оказывается!

А вот оправдается ли статистика на практике, проверяйте сами. И помните, что если съесть такой билетик раньше времени, то кроме отравления можно заработать ещё и немаленький штраф от контролёра, что мало соответствует представлениям большинства о счастье. Зато счастье от решения непростой задачи у нас никто не отнимет. До новых счастливых встреч!

Похожие статьи