📅  最后修改于: 2023-12-03 14:54:28.548000             🧑  作者: Mango
这个程序通过递归的方式,用一组给定的n个字符,生成所有可能的长度为k的字符串。可以用于排列组合问题或密码破解等场景。
print_all_strings(characters, k, current_string)
,用于打印所有可能的字符串。characters
:字符串列表,包含了一组n个字符。k
:整数,表示需要生成字符串的长度。current_string
:当前正在生成的字符串。print_all_strings(characters, k, new_string)
,生成长度为k的字符串。def print_all_strings(characters, k, current_string=""):
if len(current_string) == k:
print(current_string)
return
for char in characters:
new_string = current_string + char
print_all_strings(characters, k, new_string)
characters = ['a', 'b', 'c']
k = 3
print_all_strings(characters, k)
以上示例将打印出由字符列表 ['a', 'b', 'c']
组成的长度为3的所有字符串。输出如下:
aaa
aab
aac
aba
abb
...
ccc