Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1436 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  algo pour suite logique ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

algo pour suite logique ?

n°2194401
zetoune
Posté le 14-06-2013 à 17:16:51  profilanswer
 

Bon aujourd'hui, j'ai le cerveau ramoli. Je n'arrive pas à trouver le bon algo pour avoir le résultat de la suite logique suivante.
J'ai besoin de tous les regroupements possibles dans une série de nombre.  
Exemple: 1-3-5-20
Ça devrait donner :
1
1-3
1-3-5
1-3-5-20
1-5
1-5-20
1-20
3
3-5
3-5-20
3-20
5
5-20
20
 
Sachant que dans mon exemple, ce sont des chiffres, mais ça pourrait être des lettres aussi.  
Des idées ?

mood
Publicité
Posté le 14-06-2013 à 17:16:51  profilanswer
 

n°2194403
dreameddea​th
Posté le 14-06-2013 à 17:30:21  profilanswer
 

En général ce genre d'algo se résout assez facilement en récursif.
 
Visiblement l'ordre ne compte pas, donc je verais bien une fonction récursive qui rend un tableau
 
Exemple en pseudo code :

Code :
  1. function build_regroupements(array_source)
  2.      1st_element = shift(array_source);//vire le 1er element
  3.      if taille(array_source)=0 then
  4.           return array(1st_element)
  5.      else
  6.          sous_regroupements  = build_regroupements(array_source); ///contruit récursivement
  7.          combinatoire = array();
  8.          foreach(sous_regroupements as sous_regroupement) do
  9.               ///Ajoute le sous regroupement dans la liste sans et avec le premier element viré au début
  10.               push(combinatoire, regroupement, array_add(regroupement,1st_element));
  11.         end for
  12.         return combinatoire;
  13. end function


 
ça doit marcher je pense...

n°2194407
zetoune
Posté le 14-06-2013 à 17:46:22  profilanswer
 

Me semble qu'il manque quelque chose aussi ...

n°2194415
dreameddea​th
Posté le 14-06-2013 à 18:19:58  profilanswer
 

c'est vrai

Code :
  1. function build_regroupements(array_source)
  2.          1st_element = shift(array_source);//vire le 1er element
  3.          if taille(array_source)=0 then
  4.               return array(array(1st_element));
  5.          else
  6.              sous_regroupements  = build_regroupements(array_source); ///contruit récursivement
  7.              combinatoire = array(array(1st_element));
  8.              foreach(sous_regroupements as sous_regroupement) do
  9.                   ///Ajoute le sous regroupement dans la liste sans et avec le premier element viré au début
  10.                   push(combinatoire, sous_regroupement, array_add(sous_regroupement,1st_element));
  11.             end for
  12.             return combinatoire;
  13.     end function


 
trois fois rien quoi :)


Message édité par dreameddeath le 14-06-2013 à 18:20:25
n°2194421
zetoune
Posté le 14-06-2013 à 19:06:42  profilanswer
 

ouais j'avais déjà essayé avec cette petite correction. Mais le résultat n'est pas celui recherché.  
Merci quand même.

n°2194424
dreameddea​th
Posté le 14-06-2013 à 19:11:40  profilanswer
 

j'ai vérifié (petit essai en php) et pour moi ça marche...
 
D'ailleurs dans ton exemple tu as oublié l'ensemble '1-3-20' :)

n°2194427
zetoune
Posté le 14-06-2013 à 19:25:31  profilanswer
 

effectivement :-)
Veux tu me donner exactement le "snippet" que tu as testé. dans mon cas, il manque plusieurs occurences.

n°2194458
dreameddea​th
Posté le 14-06-2013 à 22:48:35  profilanswer
 

ou l'inverse :) mets ton code... on essayera de revoir ce qui ne va pas...

n°2194960
zetoune
Posté le 19-06-2013 à 15:10:48  profilanswer
 

Excuse du retard, mais merci ça marche.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  algo pour suite logique ?

 

Sujets relatifs
implémenter une règle logique[algo] trier alphabétiquement une liste chainée
Test de logique en cTest de suite logique en c
[Algo] Vous ne préférez pas une bonne partie d'échecs ?JButton bloqué par un algo
Générateur de chiffres à la suite d'une formuleun algo qui supp le min et le max d'1 tableau à la fois SVP
aide pour algo : nombre de chiffres dans un nombreAlgo suite logique
Plus de sujets relatifs à : algo pour suite logique ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR