Combinaison

beta -  
 beta -
bonsoir,s'il vous plait j' ai besoin vos aides avec un petit problème si possible.le problème est comme suit:
soient 2 groupes de type Arraylist. et un grand liste contient 4 nombres comme exemple[0.0,2.3,6.5,8.3].il faut le diviser le contenu sur le 2 groupes(la premier a un seul nombre et le reste "=3"sont met dans la 2éme groupe).on trouve 4 combinaisons possible.mon question est comment le générer tous les combinaisons de manière simple (un pseudo algorithme ou un démarche).
merci bq

1 réponse

  1. yamdjio Messages postés 91 Statut Membre 5
     
    Bonjour, detaille un peu le procede de division pour qu'on puisse voir plus clair.
    0
    1. beta
       
      groupe 1=[0.0] et groupe 2=[2.3....]
      groupe 1=[2.3] et groupe 2=[0.0,6.5,8.3]
      groupe 1=[6.5] et groupe 2=[0.0,2.3,8.3]
      ...etc
      si groupe 1=[0.0] alors { groupe 1=[0.0,2.3] et groupe 2=[6.5,8.3]
      ou groupe 1=[0.0,6.5]et groupe 2=[2.3,8.3]
      ....etc}
      jusqu'à ce que groupe 2=[]
      je pense qu'il faut d'utilise un algorithme de backtrack mais je trouve des difficultés
      0
    2. yamdjio Messages postés 91 Statut Membre 5
       
      Donc si je comprends bien , on commence avec un nombre dans groupe 1 et 3 dans groupe deux, puis 2 dans groupe 1 et 2 dans groupe 2, puis 3 dans groupe et 1 dans groupe 2, et enfin 4 dans groupe 1 et 0 dans groupe deux???? et y a t-il l'ordre dans les éléments des groupes ????
      0
    3. beta
       
      non pas d'ordre
      0
    4. yamdjio Messages postés 91 Statut Membre 5
       
      Si le principe est tel que j'ai dit plus haut, alors le nombre de groupe total ets :
      somme des combinaisons de (i, n). i allant de 1 a n (si groupe 1 ne doit pas etre vide ou 0 sinon).
      Exemple si au depart on a 4 elements, on aura alors
      C(0;4)+C(1;4)+C(2;4)+C(3;4)+C(4;4)
      est tu d'accord avec ce calcul, c'est a base de lui qu'on peut trouver le pseudo code.
      0
    5. beta
       
      merci bq
      0