如何遍历数字和字母的组合?
如果我要得到4位数字的所有组合则是0000---9999,但加上字母呢?
如果我要得到4位数字的所有组合则是0000---9999,但加上字母呢?
解决方案 »
- 做了个窗口,太大了,上下拖得那种怎么做?
- c# 编写一个软件 怎么实现获取内容后,扫描控件名,然后填值,最后调用按钮的单击事件就能提交了。
- 请问有什么办法可以直接提取*.iso文件里面的某个文件
- 如何控制其他程序的按钮
- 请问简单的短信加密方法
- 继承类的属性问题
- 用C#通过串口连接上Modem,拨号后传输文件.用手机Modem可以实现吗?如果不行该选用哪种Modem?要用到哪些AT指命?有没有这方面的源码?
- 么样判断润年啊!
- C# 读取服务器端TXT 文档,并将TXT文档保存至本地,然后读取本地TXT文档内容
- 这里为什么有这么多人???????????
- C#关于数组的数组,望有心人指教
- 请问这句VB.NET的代码转成C#该如何写?
62 * 62 * 62 * 62 * 6(之所以乘六是因为一行输出一个组合, 还要加上回车换行符"\r\n")
= 88658016 字节class ConsoleTest
{
public static void Main()
{
// 假设需要的组合为数字加上大小写字母
// 用0-9代表数字'0'-'9', 10 - 35 代表'A' - 'Z', 36 - 61 代表 'a' - 'z'
int[] arrPermRep = new int[5];
int i;
string strPerm;
System.IO.StreamWriter sw = new System.IO.StreamWriter("d://out.txt", false, System.Text.Encoding.Default);
while (arrPermRep[4] == 0)
{
strPerm = "";
for (i = 0; i < 4; ++ i)
{
if (arrPermRep[i] < 10)
{
strPerm += (char)('0' + arrPermRep[i]);
}
else if (arrPermRep[i] < 36)
{
strPerm += (char)('A' + arrPermRep[i] - 10);
}
else
{
strPerm += (char)('a' + arrPermRep[i] - 36);
}
}
sw.WriteLine(strPerm); arrPermRep[0] ++;
i = 0;
while (arrPermRep[i] == 62)
{
arrPermRep[i] = 0;
arrPermRep[i + 1] ++;
i ++;
}
}
sw.Close();
Console.WriteLine("Output finished.");
}
}
是0000-9999共10000个字符串与a-z 26个字母做全排列
以前写过全排列得
//strsorting 是要排序的字符串 如你的例子 "1","2","3" icurrent 是递归过程中处理到第几位
等于strsorting 的长度即递归结束
private void Sort(string[] strsorting,int icurrent)
{if(icurrent==strsorting.Length)//处理结束输出
{
foreach(string strprint in strsorting)
{
stroutput+=strprint+" ";
}
stroutput+='\n';
return;
}
string strtemp;
for(int icount=icurrent;icount<strsorting.Length;icount++)
{
{
strtemp=strsorting[icount];
strsorting[icount]=strsorting[icurrent];
strsorting[icurrent]=strtemp;
Sort(strsorting,icurrent+1);//递归
strtemp=strsorting[icount];
strsorting[icount]=strsorting[icurrent];
strsorting[icurrent]=strtemp;
}
}
调用 Sort(strsort,0);
stroutput 是string类型的全局变量,是输出的字符串