生成 7 位数字所有可能组合的算法
Algorithms To Generate Every Possible Combination of 7 Digit
我正在尝试寻找一种算法来生成 7 个字符串的所有可能组合。字符串必须 ALWAYS 包含 3 个数字 (0-9) 和 4 个字母 (A-Z)
示例:
1GH2G2G,
22JUYT1,
HGTY222
但我需要这些的所有可能组合。
我正在使用 C++,但欢迎使用伪代码。
编辑(澄清):
问题是生成以下字符集 "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 的所有可能组合,它的长度为 7 个字符,并且始终必须包含 3 个数字 (0-9) 和 4 个字母 (A-Z)。我没有开始的基本字符串,上面的例子只是为了展示输出应该是什么样的。
非常感谢任何帮助,谢谢
试试这件尺码。它是 Pascal,但你会明白的。
procedure GenerateCodes;
begin
GenerateRest(7, 4, 3, '');
end;
procedure GenerateRest(
CharsLeft, LettersLeft, DigitsLeft: Integer;
const Prefix: string);
var
c: char;
begin
if CharsLeft = 0 then begin
write(Prefix,' ');
exit;
end;
if LettersLeft > 0 then
for c := 'A' to 'Z' do
GenerateRest(CharsLeft - 1, LettersLeft - 1, DigitsLeft, Prefix + c);
if DigitsLeft > 0 then
for c := '0' to '9' do
GenerateRest(CharsLeft - 1, LettersLeft, DigitsLeft - 1, Prefix + c);
end;
我正在尝试寻找一种算法来生成 7 个字符串的所有可能组合。字符串必须 ALWAYS 包含 3 个数字 (0-9) 和 4 个字母 (A-Z)
示例: 1GH2G2G, 22JUYT1, HGTY222
但我需要这些的所有可能组合。 我正在使用 C++,但欢迎使用伪代码。
编辑(澄清): 问题是生成以下字符集 "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 的所有可能组合,它的长度为 7 个字符,并且始终必须包含 3 个数字 (0-9) 和 4 个字母 (A-Z)。我没有开始的基本字符串,上面的例子只是为了展示输出应该是什么样的。
非常感谢任何帮助,谢谢
试试这件尺码。它是 Pascal,但你会明白的。
procedure GenerateCodes;
begin
GenerateRest(7, 4, 3, '');
end;
procedure GenerateRest(
CharsLeft, LettersLeft, DigitsLeft: Integer;
const Prefix: string);
var
c: char;
begin
if CharsLeft = 0 then begin
write(Prefix,' ');
exit;
end;
if LettersLeft > 0 then
for c := 'A' to 'Z' do
GenerateRest(CharsLeft - 1, LettersLeft - 1, DigitsLeft, Prefix + c);
if DigitsLeft > 0 then
for c := '0' to '9' do
GenerateRest(CharsLeft - 1, LettersLeft, DigitsLeft - 1, Prefix + c);
end;