Я работаю над комбинаторной функцией. Я хочу ввести строку и вывести все возможные комбинации этой строки, используя каждый символ. Например, при этом будут напечатаны все комбинации ME = {MM, ME, EM, EE}.
function combo_recursive(a)
arr_combo = split(a, "")
arr_size = size(arr_combo)
arr_max = arr_size[1]
mutab!e = []
function combo_recurse(b)
if b ≤ 1
for i in 1:arr_max
append!(mutab!e,arr_combo[i])
println(join(mutab!e))
pop!(mutab!e)
end
else
for j in 1:arr_max
append!(mutab!e,arr_combo[j])
combo_recurse(b-1)
pop!(mutab!e)
end
end
end
combo_recurse(arr_max)
end
Работает нормально, но я реализовал изменяемые массивы для достижения желаемого результата. Любые рекомендации о том, как применить функциональный дух к этому ??