我想弄清楚如何打印从A,B,C,..,Z AA,AB,..,ZZ ...... AAA,AAB,AAC开始的每个小写字母组合...... HWESA,HWESB,HWESC等等,我希望程序能够不断地打印这些程序,每次将Z作为最后一个字母时长度增加1。
在线看到的代码就像这样
for(int a = 0; a < alphabet.length; a++)
{
Console.WriteLine(alphabet[a]);
for(int b = 0; b < alphabet.length; b++)
{
Console.WriteLine(alphabet[a]+alphabet[b]);
//With however many for loops you want which correspond to string length
}
}
但是,这对我不起作用,因为我希望长度可以无限长(或者在我的程序中,当它与硬编码的字符串匹配时停止)。
答案 0 :(得分:0)
我在java中尝试使用递归方法,希望你理解逻辑并在C#中写下来。你可以在下面的共享链接中查看整个程序。
大小 - 如果1表示a,b,c ... z 如果2表示aa,ab ... zz
public static void recursion(long size,String prefix)//Recursive method
{
// Base case: size is 0, print prefix
if(size==0)
{ System.out.println(prefix);
return;
}
// One by one add all characters from set and recursively
// call for size equals to size-1
for(int i=0;i<26;i++)
{
// Next character of input added
String newPrefix = prefix + s[i];
// Size is decreased, because we have added a new character
recursion(size-1,newPrefix);
}
}