有字符串abcd现在想实现得到以下遍历组合:
1级 ab ac ad aa (4)
2级 aaa aab aac aad aba abb abc abd aca acb acc acd ada adb adc add (4*4)
3级 abcda abcdb abcdc abcdd ..... (16*16)
偶数学不太好,-_-
1级 ab ac ad aa (4)
2级 aaa aab aac aad aba abb abc abd aca acb acc acd ada adb adc add (4*4)
3级 abcda abcdb abcdc abcdd ..... (16*16)
偶数学不太好,-_-
s:string;
i1,i2,i3;
s1,s2,s3,s_all:string;
begin
s='abcd';
//第一级
for i1 = 1 to 4 do
begin
s1 = s[1]+s[i]
s_all = s_all +';'+ s1;
end;
//输入s_all
//showmessge(s_all)
//第二级
for i1 = 1 to 4 do
begin
s1 = s[1]+s[si];
for i2 = 1 to 4 do
begin
s2 = s1+s[i];
s_all = s_all +";"+ s2;
end;
end;
//输入s_all
//showmessge(s_all)
1级 a
2级 ab ac ad aa (4)
3级 aaa aab aac aad aba abb abc abd aca acb acc acd ada adb adc add (4*4)
4级 abcda abcdb abcdc abcdd ..... (16*4)
5级 ......
即下一级的前几个字符串为上一级的字符串
n级 就是 4的 n-1 次方.. 你循环就行了..
for i :=1 to 4^(n-1)