forse quello che voleva dire Alex'87
Ehm.. cosa c'è che non va? I cicli for li hanno inventati per un motivo
è che non serve calcolare prima il numero delle permutazioni cioe n!
perchè il problema si risolve direttamente in almeno due modi :

a) con n semplicissimi cicli for annidati
es (in pseudicodice) hai l'array di caratteri
codice:
parola = [0]A  [1]B  [2]C  [3]D
n-> 4
for(x 0..3) for(y 1..3) for(j 2..3) for(k 3..3) 
anagramma = parola[x] + parola[y] + parola[j] + parola[k]
(ma non è molto elegante come soluzione specie se la il numero dei caratteri n è arbitrario :berto: :master: :ignore: .... VVoVe: )

b) con una procedura ricorsiva


per le lettere ripetute basta filtrare i risultati per eliminare i doppioni , è la soluzione piu semplice non so se ce ne sono altre

di sicuro cercando troverai il codice o anche nei manuali di programmazione