Bonjours a tous.
Je galère sévère sur la création d'un boucle pour une addition ....
Je m'explique:
J'ai un tableau (de taille max 9) sur une dimension du genre:
var Liste:Array =new Array(2,4,5); //Pour exemple
et je veut la liste de toute les possibilité d'addition soit:
2 + 4 = 6
2 + 5 = 7
4 + 5 = 9
2 + 4 + 5 = 11
sur un tableau de trois c'est facile, deux boucle imbrique plus l'addition suffisent mais lorsque le tableau possède 9 élément comment faire...
j'avais commencer par quelque chose comme :
Mais ca devient trop lours ....(Oui, en fait c'est des carte que je manipule mais le principe est le meme
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 switch (ListeCarteTest.length){ case 2: //2 cartes lCart = ListeCarteTest[0]; lCart2 = ListeCarteTest[1]; lCart3 = ListeCarteTest[2]; lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte)); if (lVal[0] == 11){ lBoOk = true; } break; case 3: //3 cartes; lCart = ListeCarteTest[0]; lCart2 = ListeCarteTest[1]; lCart3 = ListeCarteTest[2]; lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte)); lVal.push(int(lCart.ValCarte) + int(lCart3.ValCarte)); lVal.push(int(lCart2.ValCarte) + int(lCart3.ValCarte)); lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte) + int(lCart3.ValCarte)); if (lVal.indexOf(11) != -1){ lBoOk = true; } break; case 4: //4 cartes; lCart = ListeCarteTest[0]; lCart2 = ListeCarteTest[1]; lCart3 = ListeCarteTest[2]; lCart4 = ListeCarteTest[3]; //Les paire lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte)); lVal.push(int(lCart.ValCarte) + int(lCart3.ValCarte)); lVal.push(int(lCart.ValCarte) + int(lCart4.ValCarte)); lVal.push(int(lCart2.ValCarte) + int(lCart3.ValCarte)); lVal.push(int(lCart2.ValCarte) + int(lCart4.ValCarte)); lVal.push(int(lCart3.ValCarte) + int(lCart4.ValCarte)); //les triple lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte) + int(lCart3.ValCarte)); lVal.push(int(lCart.ValCarte) + int(lCart3.ValCarte) + int(lCart4.ValCarte)); lVal.push(int(lCart2.ValCarte) + int(lCart3.ValCarte) + int(lCart4.ValCarte)); //Les quadrplie lVal.push(int(lCart.ValCarte) + int(lCart2.ValCarte) + int(lCart3.ValCarte) + int(lCart4.ValCarte)); if (lVal.indexOf(11) != -1){ lBoOk = true; } break; })
Si quelqu'un a une idée merci d'avance
Partager