Per impostare un algoritmo (ricorsivo) usa la seguente osservazione: una combinazione di lunghezza n la ottieni inserendo un qlsiasi carattere in una qualsiasi posizione in una combinazione di lunghezza n - 1, ovvero tutte le combinazioni di lunghezza n le ottieni concatenando uno alla volta tutti i caratteri in tutte le n posizionni di tutte le combinazioni di lunghezza n - 1.