Salve,
sto cercando di implementare una funzione che mi faccia un'anagramma di una stringa data.
Ecco quello che sono riuscito a "ideare":
I Passo:
Trasformare la stringa in un array contenente le sue lettere:
Codice PHP:
function array_string ($string) {
for($i=0;$i<(strlen($string));$i++) {
$a_string[$i] = substr($string, $i, 1);
}
return $a_string;
}
II Passo:
Una permutazione di una stringa (ex. abcd) è uguale ad un array contenente:
Codice PHP:
Perm(abcd) = array (
[0] => a . Perm(bcd),
[1] => b . Perm(cda),
[3] => c . Perm(dab),
[4] => d . Perm(abc)
);
//E a sua volta
Perm(bcd) = array (
[0] => b . Perm(cd),
[1] => c . Perm(db),
[3] => d . Perm(bc)
);
// Analogo per Perm(cda), Perm(dab),Perm(abc)
// Ancora poi
Perm(cd) = array (
[0] => c . Perm(d) // Che equivale a cd
[1]=> d . Perm(c) // Che equivale a dc
);
[...].
E' evidente che serva una funzione
ricorsiva. Ma non so come implementarla, una mano?