Bonjour,
je sais qu'il existe beaucoup de topic existant sur ce sujet.
Mais c'est apres beaucoup de recherches que je fais un n(ieme) posts.
Le but est avec une combinaison de chiffre, generer toutes les nombres possibles.
Par exemple pour :
0, 1, 2 => 6 possibilites
0, 1, 2, 3 => 24 possibilites.
Le but n'etant pas de les compter mais de les afficher.
J'ai fais un script mais le probleme c'est qu'il est beaucoup trop long pour les combinaisons a 10 chiffres.
Voici mon script :
Comment optimiser ce code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function perm($nbrs, $res) { for ($i = 0; $i != count($nbrs); $i++) { $prev = $res[count($res) - 1]; $tmp = $prev[$i]; $prev[$i] = $prev[($i + 1) % count($nbrs)]; $prev[($i + 1) % count($nbrs)] = $tmp; if (!in_array($prev, $res)) { $res[] = $prev; echo $prev . "\n"; perm($nbrs, &$res); } } return $res; } $nbrs = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); $res = array("0123456789"); echo $res[0] . "\n"; $res = perm($nbrs, &$res);
Merci bien!
Partager