Какой хороший способ выяснить все возможные слова заданной длины - PullRequest
7 голосов
/ 23 ноября 2008

Я пытаюсь создать алгоритм на C #, который выдает следующие выходные строки:

AAAA
AAAB
AAAC
...and so on...
ZZZX
ZZZY
ZZZZ

Каков наилучший способ сделать это?

public static IEnumerable<string> GetWords()
{
    //Perform algorithm
    yield return word;
}

Ответы [ 12 ]

0 голосов
/ 25 ноября 2008

Используйте что-то, что автоматически ищет в Google для каждой комбинации букв, а затем посмотрите, есть ли еще хиты ".sz" или ".af", а затем ".com" в пяти первых результатах ...;)

Серьезно, то, что вы ищете, может быть Tries (структура данных), хотя вам все еще нужно заполнить вещь, которая, вероятно, намного сложнее ...

0 голосов
/ 23 ноября 2008

Javascript!

var chars = 4, abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", top = 1, fact = [];
for (i = 0; i < chars; i++) { fact.unshift(top); top *= abc.length; }
for (i = 0; i < top; i++)
{
    for (j = 0; j < chars; j++) 
        document.write(abc[Math.floor(i/fact[j]) % abc.length]);
    document.write("<br \>\n");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...