2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Комбинаторика, помогите проверить, пожалуйста
Сообщение08.10.2023, 18:37 


02/01/23
76
Имею список цифр, к примеру 0, 0, 1, 1, 2, 3, 4, 4.
Задача - установить, сколько из них можно составить чисел (не начинающихся с нуля). Все цифры должны быть использованы.
Логика:
1. Пусть $n$ - длина списка. Тогда, без учета того, что число не может начинаться с нуля, можно использовать формулу:
$\dfrac{n!}{m_0!m_1!\dots m_9!}$
где $m_i$ - кол-во вхождений цифры $i$ в список.
2. Если в списке нет нулей, ответ получен. Если в списке есть нули,
из результата п. 1 вычесть значение выражения из п. 1, но для списка без одного из нулей. Например, список 0, 0, 1, 1, 2, 3, 4, 4 превращается в список 0, 1, 1, 2, 3, 4, 4.
Для данного примера:
$\dfrac{8!}{2!2!1!1!2!0!0!0!0!0!}-\dfrac{7!}{1!2!1!1!2!0!0!0!0!0!}=3780$
Сюда же прилагаю свой корявенький код на Python, работающий перебором. Ответ также 3780.
Код:
from itertools import permutations

input_list = [0, 0, 1, 1, 2, 3, 4, 4]
def l2n(l):
    return int("".join(map(str, l)))

all_permutations = set(filter(lambda x: x >= 10 ** 7, map(l2n, permutations(input_list, 8))))

print(len(all_permutations))

Спасибо

 Профиль  
                  
 
 Re: Комбинаторика, помогите проверить, пожалуйста
Сообщение08.10.2023, 21:43 


07/08/23
468
Вроде всё верно.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: ИСН


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group