Tester un grand nombre d' additions

weirstrass -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai 4 listes de nombres. Je voudrais tester toutes les additions possibles à 4 nombres, Chaque nombre étant pris dans une liste ( un nombre par liste) et afficher la liste des quadruplets de nombres dont le résultat est 55555.
Merci
A voir également:

7 réponses

latoopa Messages postés 278 Date d'inscription   Statut Membre Dernière intervention   32
 
Salut,

il doit y avoir moyen "d'algorithmiser" la chose mais comme ça c'est faisable :

Tu créés une cascade de boucles "for" dans le style :

for(int indice1 = 0 ; indice1 != nombreElementsListe1 ; indice1 ++){
        for(int indice2 = 0 ; indice2 != nombreElementsListe2 ; indice2 ++){
                for(int indice3 = 0 ; indice3 != nombreElementsListe3 ; indice3 ++){
                      for(int indice4 = 0 ; indice4 != nombreElementsListe4 ; indice4 ++){

                           if( liste1[indice1]+liste2[indice2]+liste3[indice3]+liste4[indice4] == 55555 )
                           affichage(liste1[indice1]+liste2[indice2]+liste3[indice3]+liste4[indice4]); // a adapter 

                      }
                }
         }
}


Bon... ce n'est ni "beau" ni rapide mais ca marche... pour des listes courtes...
Voilà.

Toopa
0
weirstrass
 
Merci Toopa
mais est-ce possible avec un tableur ? genre excel?
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Une macro sur excel : weirstrass.xls
Pas beaucoup optimisée, si tes listes sont très longues et si c'est pour un usage régulier on pourra voir pour améliorer.
eric

PS: dans le code j'ai limité le nombre de solutions à 1000. Tu peux l'augmenter dans la limite du nombre de ligne-1 de ta feuille.
0
weirstrass
 
merci beaucoup, c'est vraiment sympa !
juste que je n'ai pas trop compris comment ça marche. J'ai changé certaines valeurs de tes listes, mais rien à changé au niveau des colonnes résultats.

Pourrais-tu m'expliquer comment faire marcher ce programme ?

Ma première liste contient 40 nombres, la deuxième 24, la troisième 21 et la dernière 40, ce qui donne 806400 additions à tester.

merci encore !
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Rien de bien compliqué :
Tu colles tes listes en A2, B2, C2 et D2, la somme à atteindre en F2 et tu cliques sur le bouton.
Et si tu veux plus de 1000 résultats tu changes dans le code la valeur de nbmaxsol = 1000
eric
0
weirstrass
 
en cliquant sur le bouton , il m'affiche un message d'erreur: erreur de script lors de l'execution du script vnd.sun.star.script
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
heuuuu, étrange... Rien de tout ça chez moi.
A moins que ce ne soit le passage sur excel 2007 mais c'est la 1ère fois que je vois excel parler de script dans un message d'erreur (?)
Dépose le fichier avec tes données sur cijoint.fr et colle ici le lien fourni
eric
0
weirstrass
 
en fait, c'est pas excel mais le classeur d'open office (j'ai dit excel pour aller plus vite, pensant que c'est la même chose
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Open office est compatible excel, mais pas pour les macros...
Il va falloir que tu l'adaptes ou que tu trouves qcq'un qui connaisse open office.
Si tu redémarres une discussion précise bien 'macro open office' dans le titre
eric
0
weirstrass
 
je t'ai déposé le fichier au cas ou tu pourrais faire qque chose

http://www.cijoint.fr/cjlink.php?file=cj201003/cijAhnVxPw.ods
merci.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Pour 55555 ça te fait 184 solutions.
weirstrass.xls
0
weirstrass
 
Merci beaucoup c'est très sympa de m'avoir aidé
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
De rien :-)
Bonne continuation
0