Я формулу не помню, но чисто логически выглядит так:
Первое из 12 слов можно поменять с другим 11-ю способами, второе 10-ю, третье - 9-ю итд.
В итоге число вариантов равно 11+10+9+8+7+6+5+4+3+2+1 = 66, причем валидным (чтобы чексумма сошлась) будет в среднем только каждый 16-й сид.
У тебя ошибка, причем довольно обыденная среди людей пытающихся в комбинаторику. Суть в том, что у тебя есть 12 слов, и ты не помнишь в какой они последовательности.
Ты начинаешь правильно, только вот первое слово можно выбрать 12ю способами (так как множество состоит из 12 слов), второе 11ю и так далее, до 12го, которое можно выбрать только одним способом (то, что осталось). Но самая твоя ошибка не в этом, а в следующем:
Там не плюсуется, а умножается.
Тоесть, количество перестановок - 12! (12 * 11 * 10 * 9 * 8 * ..... * 1 )
Нативный пример: сколькими способами можно переставлять между собой три буквы:
А, Б, В ?
Ответ: 3! = 6
Проверяем на пальцах:
А Б В
А В Б
Б А В
Б В А
В А Б
В Б А
Поэтому зная 12 слов но не зная их последовательность придется подключить некоторые вычислительные мощности: 12 ! = 480 миллионов вариантов. Учитывая что нам нужно не только перебирать (это будет быстро, за пару секунд в оффлайн режиме) а еще проверять балансы каждого сида, то в принципе пару дней времени может уйти (если предположить что парсер будет перебирать и проверять по 1000 сидов за секунду)
В случае 24х слов, мощности необходимые для разумного перебора уже будут точно не "некоторыми", придется подружиться c каким нибудь китайским майнером (Хотя если смотреть по одному сайту, то чтобы забрутить за разумное время массив размером 6 * 10^23, придется подключать все мощности АНБ)
С расчетами у вас все верно
Определенно
Тебе то точно числа только на бумажку записывать, а лучше деньги в банке хранить. Не том, который в Швейцарии, а в той, которая рядом с банкой квашенной капусты и кислых помидоров