Всё достаточно просто.
Насколько я вас понял, у вас есть алфавит из n различных символов и некое слово длиной m, составленное из этих символов.
_
Пара примеров, если не очень понятны рассмотренные случаи:
101, 12345678901, абба - случай m>n соответственно для двоичной, десятичной систем счисления и алфавита из двух-трёх букв;
123, 10, мама - случай m<n для десятичной системы и русского алфавита;
1234567890, 10, abcdefg - случай m=n для десятичной, двоичной систем и алфавита abcdefg.
_
m>n:
Слово длиннее, чем количество "букв" алфавита, например 1001 в двоичной системе счисления или 12345678901 в десятичной. Если условиться, что в начале слова может стоять любая из "букв" (равно как и на любом другом месте), то есть в десятичной системе одиннадцатибуквенные слова начинаются с 00000000000 и заканчиваются на 99999999999, то количество комбинаций равно n^m (на каждом месте может стоять любая буква). В данном случае "букв" в слове больше, чем в алфавите, поэтому какие-то из них гарантированно встретятся более одного раза. Единственная возможная другая формула (если не рассматривать совсем сложные случаи): (n-1)*n^(m-1). Это как раз случай с числами, в которых принято не писать нуль, если он стоит на первом месте (соответственно, данной формулой мы просто исключаем все числа длины m, начинающиеся с нуля).
m<n:
Длина слова меньше количества "букв". На формулу n^m данный факт ни коим образом не влияет. Так же опять возможен случай (n-1)*n^(m-1), если слово по какой-либо причине не должно начинаться с какого-то одного из символов ("букв"). Однако, помимо этих случаев, становится возможным ещё один: когда буквам по какой-либо причине запрещено повторяться. В таком случае формула выглядит сложнее: n*(n-1)*(n-2)*...*(n-(m-1)). То есть, "не полный факториал" n!-(n-m)!
m=n:
Действуют формулы n^m и (n-1)*n^(m-1) в тех же случаях. Зато "факториальный" случай значительно упрощается: (n-m)=0, количество комбинаций равно n!. Ну или (n-1)*(n-1)! при комбинации этого и предыдущего случаев ("буквы" в слове не повторяются, в начале слова стоит любая кроме одной).
_
Таким образом, если рассматривать простейшие случаи, имеем не так много формул:
n^m: максимальное количество комбинаций, формула верна во всех случаях, если нет никаких ограничений (любые ограничения всегда уменьшают это число);
(n-1)*n^(m-1): то же самое, только слово не может начинаться (ну или заканчиваться, мало ли) с одной из "букв" (строго говоря, на одной из позиций не может стоять одна конкретная "буква", тогда как на всех остальных может стоять любая; просто на практике часто применяется для исключения чисел, начинающихся с нуля); так же действует во всех случаях;
n!: если "буквы" не могут повторяться, и их количество равно длине слова (случай m=n);
n!-(n-m)!: она же для случая m<n, то есть когда у нас "избыток букв";
ну и m*n: если слово состоит только из одинаковых букв.