我应该编写一个逻辑来生成 n 个字母的单词的组合。
例如,如果提供数字 2,我需要从 a-z 生成所有两个字母的单词,即:
aa-ba-ca.....za
ab-bb-cb.....zb
.
.
.
.
az-bz........zz
我知道嵌套循环不足以解决这个问题,因为嵌套循环的数量会随着单词中字母的数量而变化。这使我转向递归,但我想不出其中的逻辑。
最佳答案
递归是这里的关键。这是一个用 Java 编写的示例:
public static void printCombos(int totalWords, String s) {
if(totalWords-- <= 0) {
System.out.print(s + " ");
return;
}
for(char i = 'a'; i <= 'z'; i++)
printCombos(totalWords, s + Character.toString(i));
System.out.println();
}
调用它:
printCombos(2, "");
关于c - 在 C 中生成 n 个字母组合的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55578511/