Как подсчитать количество возможных комбинаций?
Знаток
(415),
закрыт
14 лет назад
Дополнен 14 лет назад
А если учесть что нам известно N цифр и нам надо найти колличество комбинаций только из них??? Повторяться они не могут…
Александр Новожилов
Гуру
(3477)
14 лет назад
Определение. Если в некотором множестве а1,а2….аN переставлять местами элементы, оставляя неизменным их количество, то каждая полученная таким образом комбинация называется перестановкой.
Общее число перестановок из m элементов обозначается Pm и вычисляется по формуле:
Pm=N!
Владимир Павлек
Просветленный
(28610)
14 лет назад
10 в степени N
на первом месте может стоять любая цифра от 0 до 9 – всего 10. На втором, тоже может стоять 10 различных цифр и т. д. до N-го знака. Чтобы узнать количество вариантов нужно перемножить количество вариантов для каждого знака. Т. е. 10 * 10 * 10 *… * 10. Всего N множителей.
Alexey
Гуру
(3820)
14 лет назад
xxx – кол-во комбинаций (разрядность x)^(кол-во иксов)
т. е. если x максимум равно 9, т. е. изменяется от 0 до 9, то получим 10^3=1000, самому легко догадаться учитывая что число может меняться от 0-999.
Филипп Великов
Мастер
(1376)
4 года назад
Кучу ненужного текста понаписали, ей-богу. Всё очень просто: берём n (количество чего-то) и эту n умножаем саму на себя, каждый раз отнимая от неё по 1. Например: есть 1, 2, 3 и 4 — 4 цифры. 4 умножаем на 4 – 1, потом на 4 – 1 – 1, на 4 – 1 – 1 – 1, т. е. 4 * 3 * 2 * 1 = 24, и так с любым числом. Сами посчитайте, если не верите
Serdar eserdar
Ученик
(118)
10 месяцев назад
Допустим есть символы 123456789lkjh
С повторениями , длинна – 4 – (количество символов) в степени (длинна) , т.е 13 в степени 4 = 28561
Без повторений – (кол-во символов) * (кол-в символов минус 1) * (кол-в символов минус 2)
и так далее , в зависимости от длинны , т.е кол-во символов * кол-во символов уменьшая его каждый раз , и повторяем (длинна) раз
В нашем случае , длинна – 4 , а кол-во символов – 13, значит
13 * 12 * 11 * 10 = 17160
Надеюсь было понятно
vaqed
Знаток
(266)
3 месяца назад
Пускай у нас пароль, состоящий из 3 символов. Пароль принимает такие символы как: 0,1,2,3,4,5,6,7,8,9. Т.е. 10 символов. Чтобы узнать кол-во комбинаций, нужно 3 возвести в 10-ую степень. 10^3=1000 комбинаций
Допустим есть 8 символов. 3 Символа большие заглавные, 5 строчные. Сколько комбинаций паролей можно нагенерировать под эти символы?
Интересует больше математический расчет) Допустим если у нас пароль из трех цифр и возможны только два значения, то можно получить 8 комбинаций. 2^3=8/
000
001
100
...
Это простой пример конечно.
MBo
47.8k1 золотой знак17 серебряных знаков40 бронзовых знаков
задан 2 дек 2015 в 12:20
3
26^8 * C(8,3) == 26^8 * (8! / (3! * (8-3)!))
26^8 – количество вариантов без учета регистра, С(8,3) – количество способов расставить 3 заглавные буквы в 8 позиций.
Для простой ситуации 2 символа а и б и 2 позиции (1 символ заглавный):
аА, Аа, аБ, Аб, бА, Ба, бБ, Бб – 8 вариантов.
Проверяем (2^2) * (2! / (1! * 1!)) = 4 * 2 = 8/
ответ дан 2 дек 2015 в 12:57
andy.37andy.37
7,42612 серебряных знаков31 бронзовый знак
15
На этой странице вы узнаете
- Как и для чего информатика использует целый раздел математики?
- Как работают безопасные пароли?
- Зачем считать, если можно не считать?
Что общего у автомобильного номера, карточной игры и расписания школьных занятий? Наука, их изучающая, — комбинаторика.
Применение комбинаторики
Комбинаторика — это раздел математики, который занимается решением задач, связанных с выбором и расположением элементов какого-либо множества по заданным параметрам.
Мы прибегаем к помощи комбинаторики, когда речь идет о данных как о наборе последовательностей, которые состоят из определенных элементов, расположенных в определенном порядке.
Что может служить примерами таких данных?
- автомобильные номера — набор букв и цифр в определенном порядке;
- карточные игры — наборы карт, которые могут находиться у вас на руках;
- расписание занятий — варианты порядка проведения уроков.
Собственно, комбинаторика может помочь нам:
- узнать общее количество возможных автомобильных номеров;
- оценить шанс нахождения бубновой десятки на руках у вашего соперника;
- посмотреть на другие возможные варианты расписания, которое можно было бы составить и поудобнее.
Размещения и перестановки
Самое простое, с чем нам может помочь комбинаторика — это подсчет комбинаций элементов, от которого мы сможем отталкиваться дальше. Для удобства различают два основных вида расположения элементов в последовательностях:
- Размещения — элементы набора могут использоваться в последовательности определенной длины любое количество раз (в том числе ни разу).
Пример: кодовый замок. Никто не запретит нам использовать любую цифру любое количество раз или не использовать совсем.
- Перестановки — возможные последовательности образуются изменением порядка следования элементов друг за другом. Каждый элемент набора используется ровно 1 раз.
Пример: распределение 5 человек на дежурства в течение 5 дней. Было бы справедливо, если бы один человек дежурил только один раз, но вот в какой из дней — уже есть выбор.
Подсчет количества комбинаций
Количество комбинаций зависит от вариантов расстановки элементов. Чем больше символов может стоять на каждой позиции, тем больше будет комбинаций. Полное их количество рассчитывается как произведение количества возможных символов на каждой позиции.
В размещениях каждый элемент может быть на любой позиции и может встретиться любое количество раз. То есть на каждой из k позиций может быть любой из n символов, тогда всего размещений может быть N=nk.
В перестановках последовательности отличаются только порядком следования элементов. Значит, каждый из элементов будет использоваться ровно 1 раз.
- На первой позиции может стоять любой из n символов;
- На второй — любой из оставшихся n − 1 символов;
- На третьей — любой из еще не использовавшихся, то есть n − 2;
- В конце концов — на самой последней позиции может использоваться только 1 оставшийся символ.
Поэтому количество комбинаций перестановок рассчитывается как факториал количества символов: произведение всех чисел от 1 до количества.
В остальных случаях — составляем выражение согласно требованиям:
- Считаем, какое количество символов может находиться на каждой позиции.
- Перемножаем полученные значения.
Например, мы выбираем пароль по следующим условиям:
- длина пароля — 6 символов;
- используются только символы “P”, “A”, “S”, “W”, “O”, “R”, “D”, “1”, “2”, “3”;
- “Р” должен быть на первом месте и больше не встречаться в пароле;
- “3” должен быть на последнем месте и больше не встречаться в пароле.
Определим, какие символы на каких позициях могут находиться:
Теперь можем составить выражение, чтобы найти количество всех возможных вариантов пароля. Перемножим количество возможных символов на каждой позиции:
N = 1 * 8 * 8 * 8 * 8 * 1 = 4096.
При регистрации на сайтах нас просят придумать пароль. Некоторые сайты дают задачку со звездочкой:
— пароль должен быть настолько длинным, чтобы не влезал в поле для пароля;
— пароль должен содержать символы, о которых мы раньше и не слышали.
Доля разумности в этих требованиях присутствует. Использование сложного пароля создает множество возможных комбинаций знаков. Такой пароль не взломать простым перебором.
Одна фирма по кибербезопасности посчитала, что пароль длиной 11 символов, состоящий только из цифр, взламывается меньше чем за секунду. При использовании цифр, букв в разных регистрах и спецсимволов, на взлом уйдет 34 года. Если символов будет не 11, а 12, то взлом сложного пароля займет около 3000 лет.
Размещения и перестановки в программе Python
Для более сложных расчетов нам может понадобиться написать программу, которая будет производить определенные действия с перестановками или размещениями.
Для облегчения работы с ними в Python существует модуль itertools, который содержит инструменты для их создания:
- permutations(набор символов) — создает перестановки переданного набора
from itertools import permutations
for i in permutations(“abc”):
print(i)
Вывод:
('a', 'b', 'c')
('a', 'c', 'b')
('b', 'a', 'c')
('b', 'c', 'a')
('c', 'a', 'b')
('c', 'b', 'a')
- product(набор символов, repeat = длина последовательности) — создает размещения заданной длины из заданного набора символов
from itertools import product
for i in product("abcd", repeat = 2):
print(i)
Вывод:
('a', 'a')
('a', 'b')
('a', 'c')
('a', 'd')
('b', 'a')
('b', 'b')
('b', 'c')
('b', 'd')
('c', 'a')
('c', 'b')
('c', 'c')
('c', 'd')
('d', 'a')
('d', 'b')
('d', 'c')
('d', 'd')
Все комбинации будут возвращены в виде списка символов.
Пример.
Допустим, мы будем составлять пароли длиной 6 символов из того же набора символов “P”, “A”, “S”, “W”, “O”, “R”, “D”, “1”, “2”, “3”, но с дополненными условиями:
- символ “Р” может использоваться в пароле любое количество раз, но обязательно должен быть на первом месте;
- символ “3” должен быть использован в пароле ровно 3 раза;
- в пароле не должно быть сочетания “123”.
Пошагово наш код должен состоять из следующих элементов:
- Для создания всех вариаций пароля будем использовать product модуля itertools, все пароли будем перебирать циклом for. Также предварительно создадим переменную-счетчик подходящих паролей.
- Нам нужно проверить все условия задачи. Элемент комбинации с индексом 0 равен “Р”, “3” встречается в ней ровно 3 раза, а также в списке символов комбинации не должно быть набора (“1”, “2”, “3”).
- При нахождении подходящего пароля будем увеличивать наш счетчик на 1, в конце программы выведем его значение на экран.
from itertools import product
cnt = 0
for i in product("PASWORD123", repeat = 6):
if i[0] == "P" and i.count("3") == 3 and ("1", "2", "3") not in i:
cnt += 1
print(cnt)
Вывод: 810
Фактчек
- Размещения — наборы последовательностей определенной длины, состоящие из определенных символов, которые могут встречаться в последовательности сколько угодно раз. Количество размещений N зависит от длины последовательности k и количества символов n как N=nk.
- Перестановки — наборы последовательностей, отличающиеся только порядком следования символов друг за другом. Количество перестановок N зависит от количества символов в них n как N = n!.
- В общем виде количество комбинаций высчитывается как произведение количества возможных символов на каждой позиции.
- Для записи перестановок в Python используется permutations из модуля itertools, для записи размещений — product из того же модуля.
Проверь себя
Задание 1.
Сколько будет размещений длинной 5, состоящих из набора “123”?
- 243
- 125
- 120
- 6
Задание 2.
Что такое перестановки?
- Комбинации, состоящие из символов определенного набора, разной длины.
- Комбинации, состоящие из символов определенного набора, одной длины.
- Комбинации, состоящие из символов определенного набора и отличающиеся только порядком следования символов друг за другом.
- Комбинации, состоящие из символов определенного набора и отличающиеся только длиной.
Задание 3.
Сколько может быть паролей длиной 4, состоящих из набора символов “ПАРОЛЬ”, в которых любой символ может использоваться сколько угодно раз, кроме “Ь” (используется только один раз и только на последнем месте)?
- 15
- 20
- 125
- 625
Задание 4.
Какая из записей на языке Python создаст размещения набора “ПАРОЛЬ” длинной 4?
- itertools(“ПАРОЛЬ”, repeat = 4)
- product(4, repeat = “ПАРОЛЬ”)
- permutations(“ПАРОЛЬ”, repeat = 4)
- product(“ПАРОЛЬ”, repeat = 4)
Ответы: 1. — 1; 2. — 3; 3. — 3; 4. — 4.
Здравствуйте, уважаемые профессионалы и знатоки! Совсем сломала голову над задачей, которая на первый взгляд мне показалось совсем не сложной, а может уже просто заучилась ))
Дан известный набор символов из n элементов в определенном порядке, например возьмем английский алфавит – 26 символов: a b c … x y z.
Имеется пароль который состоит из этих символов. Пароль соответствует след. условиям:
1) Пароль не имеет фиксированной длинны, может быть как 1 символ, так и несколько десятков, но символы не могут повторяться.
2) Символы в пароле идут в том же порядке, в котором они расположены в наборе, только в обратном )))))
3) Символы не могут быть соседними в наборе.
Используя все вышеуказанное, пароль может быть: z, g, z x v, x k c a и т.п., вариантов типа a s y, z y, b b a и т.п. быть не может. Это все что до меня “дошло” ))) ну и то, что максимальная длинна пароля для данного набора символов: 13 (z x v t r p n l j h f d b), а нужно как-то посчитать кол-во возможных вариантов и составить алгоритм получения этих вариантов.
Буду рада любой подсказке, идее или мысли ))
Сколько вариантов комбинаций из 4 цифр? Ответ с примерами.
Очень интересный вопрос, а именно сколько вариантов комбинаций можно получить из четырёх цифр. Чтобы ответить на этот вопрос достаточно просто посчитать, но нужно знать как правильно это делать. Итак, сегодня мы разберём, как правильно считать комбинации цифр, и не только с четырьмя цифрами, но и с другими. Чтобы вы смогли посчитать любое количество вариантов. А также ответим на вопрос, сколько же вариантов можно получить.
Итак, у кодового замка четыре цифры, каждая из цифр имеет 10 вариантов, потому что каждая колёсико может быть от нуля до девяти, а значит это 10 вариантов в каждом колёсике. Конечно цифры могут повторяться.
Если в замке четыре цифры, то это всё можно найти количество комбинаций по формуле. берём n — это количество чисел, их 10. И возводим 10 в 4 степени, так как замок четырёх разрядный. 10 в четвёртой степени = 10 000 комбинаций.
Итак, со всеми другими замками точно также.
Если там три цифры, значит 10 в третьей степени, если необходимо пять цифр, значит 10 в пятой степени.
Можно посчитать и по другой формуле, если цифра ноль входит в те знаки, которые есть могут быть кодом замке, то количество чисел будет больше нуля или равно 0. Таким образом можно перебирать цифры начиная с 0000, потом 0001 итд. Конечно, в итоге вы придёте к числу 9999, а значит таких комбинаций как раз и получилось 9999, но так как у нас ещё есть число ноль мы прибавляем его, как число, и получаем, что всего комбинация 9999 + 1 = 10 000 комбинаций.
Также во внимание можно брать подсказки, например, если число 0 у вас не входит в цифры, то начинается с одного, то получается не 10 цифр, а девять. Соответственно, мы берём 9 в четвёртой степени, то получает 6561.
Или например, два крайних ролика разные. то возникают другие варианты, либо ролики у всех разные цифры, тогда мы вычитаем такие цифры, как 9999, либо 1111, потому что цифры не должны повторяться, либо цифры на правом ролике не должны совпадать с цифрами, на левом тогда максимальное количество комбинаций 25, а во втором случае для права ролика, получается только девять возможных комбинаций.
Также во внимание можно взять, что по статистике люди часто выбирают коды с четными цифрами, например, 2684 итд. Редко встречаются и нечетные комбинации, например, 1357. Также ещё чаще встречаются комбинации 1111 и 0000.
Если высчитывать по времени, то для подборки, если у вас 10000 комбинаций, то если вы будете тратить по 10 секунд, на каждый код уйдёт более 27 часов и подбором данном случае пользоватся будет очень тяжело.
Ну если нужно открыть замок, то можно почувствовать разболтанность колёсика, если этот замок открывали часто.
Поэтому подбирать 10000 комбинаций или не подбирать, выбор каждого. По такому же принципу можно высчитать количество комбинаций для 5-ти значных кодов , 6-ти значных и любых других кодов.
Поделиться с друзьями:
Сколько комбинаций из 4 цифр от 0 до 9?
Сколько комбинаций из 4 цифр от 0 до 9?
пин-коды из 4 одинаковых цифр запрещены). Таких комбинаций всего 10. 3=1000. Ваш кодовый замок имеет 1000 комбинаций паролей.
Как посчитать количество возможных вариантов?
Число различных перестановок из n элементов обозначается Pn и вычисляется по формуле Pn=n!.
Как рассчитать количество возможных комбинаций?
Неупорядоченные выборки называются сочетаниями из n элементов по m и обозначаются Сnm. Число сочетаний определяется по формуле Сnm = n!/(n − m)!/m! .
Как посчитать количество комбинаций из 10 цифр?
Если символы могут повторяться, то любой из 10-ти символов может принимать одно 36 значений (26 латинских букв плюс 10 цифр). Можно сказать, что это 10-тизначное число в 36-ричной системе счисления. Количество комбинаций будет равно 3610 или 3,6561584×1015.
Сколько можно составить комбинаций из 4 букв?
Ответ: 456976 комбинаций.
Сколько комбинаций из 4 цифр с повторениями?
Добрый вечер. Это простая задача по комбинаторике. 4 = 256.
Сколько комбинаций можно составить из 7 цифр?
На 3, 4, 5, 6 и 7 местах может стоять по 8, 7, 6, 5 и 4 разных цифры. Всего 10*9*8*7*6*5*4 = 604800 чисел из 7 неповторяющихся цифр.
Сколько комбинаций из 30 цифр?
Число всех возможных комбинаций из 30 букв по две равно . Если учесть возможность того, что буквы могут повторяться, то число повторяющихся комбинаций равно 30 (одна возможность повтора для каждой буквы). Итого, полное количество комбинаций по две буквы равно 900.
Сколько чисел можно составить из трех цифр?
Ответ: 18 трёхзначных чисел. Вы знаете ответ на этот вопрос?
Сколько четырехзначных чисел можно составить из четырех цифр?
имеется два способа выбора. Цифру десятков можно выбрать двумя способами, цифру единиц – двумя. Чтобы узнать, сколько всего четырехзначных чисел можно составить из цифр 0 и 3, согласно правилу произведения, способы выбора каждой цифры надо перемножить: 1·2·2·2=8. таким образом, имеем 8 четырехзначных чисел.
Сколько четырехзначных чисел в которых нет одинаковых цифр можно составить из цифр А 1 3 5 7 9 б 0 2 4 6 8?
Ответ: 120 чисел.
Сколько четырехзначных чисел можно составить из цифр 0 2 4 6 8 если цифры в числе не повторяются?
Сколько четырехзначных чисел можно составить из цифр 0, 2, 4, 6, 8,если цифры в числе не повторяются? Решение: = = – = 5!
Сколько всего существует четырехзначных чисел?
Четырехзначные числа: 1000, 1001, … 9999. Их всего 9000. Для записи одного четырехзначного числа необходимо 4 цифры, для всех четырехзначных чисел 4*9000= 36000 цифр.
Сколько четырехзначных чисел можно составить из цифр 1 2 3 4 5?
сколько четырехзначных чисел можно составить из цифр 1 2 3 4 5, если никакую цифру не использовать более одного раза? ответ: 120, но зачем?
Сколько трехзначных чисел можно составить из цифр 1 2 3 4?
В итоге подходящих комбинаций: 60-12 =48.
Подсчет с помощью комбинаций — MathBootCamps
Комбинации — это способ подсчета количества способов выбора объекта, когда порядок не имеет значения. Например, предположим, что вы выбираете 3 человек из группы из 15 человек для участия в опросе. Все 3 выбранных участвуют в одном и том же опросе, поэтому порядок их выбора не имеет значения.
реклама
Обозначение комбинаций
Прежде чем мы перейдем к некоторым примерам, важно отметить, что существует три распространенных способа записи комбинации. Предположим, что мы выбираем 8 объектов из корзины из 20, и порядок не важен. Количество способов, которыми это можно сделать, будет рассчитано комбинацией «20 выберите 8». Это можно записать так:
Каждый из них имеет одинаковое значение, это просто разные способы представления комбинации. В этой статье мы будем использовать третий: C(20,8).
Формула для комбинаций
Комбинации можно рассчитать либо по формуле, либо с помощью калькулятора. В формуле используются факториалы (восклицательный знак). Помните, что факториалы — это то, где вы считаете и умножаете. Например, 4! = 4 x 3 x 2 x 1 = 24.
Теперь мы можем рассмотреть несколько примеров подсчета комбинаций.
Примеры
Для каждого из этих примеров обратите особое внимание на то, как определяется, что порядок не важен. Помните, что если бы порядок был важен, вместо этого мы бы использовали перестановки.
Пример
Менеджер Джейкоба просит его выбрать 3 смены из 7 доступных на следующей неделе. Сколько различных вариантов трех смен возможно?
В этой задаче не имеет значения, какую смену Джейкоб выбрал первой или второй, так как он все равно будет работать в три выбранные смены. Следовательно, ответ: C(7,3).
Обратите внимание, сколько членов мы смогли отменить. Это произойдет с каждой проблемой комбинации, независимо от того, насколько велики числа. Сокращение хотя бы некоторых условий всегда приятно, так как тогда легче вводить в калькулятор (или, как в случае выше, вам может даже не понадобиться калькулятор!)
Пример
Сколькими способами можно выбрать комитет из 6 человек из группы из 35 студентов?
При выборе комитета подразумевается, что вы просто выбираете группу людей для обсуждения или работы над проблемой — порядок, в котором они выбираются, не важен, поскольку, если кто-то выбран, он входит в комитет независимо от того, они были выбраны первыми или последними.