Combinaison de chiffres

  • Initiateur de la discussion Initiateur de la discussion yoyo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

yoyo

Guest
Bonjour,

Je cherche à obtenir, à partir d'une liste de chiffre un résultat précis en VBA.

C'est à dire j'ai une liste de 5 chiffres:

1
2
3
4
5

Et je veux obtenir le résultat 10 en faisant la combinaison des 5 chiffres précédents sans répétition.

exemple : 2 + 3 + 5 =10

Merci d'avance de votre Réponse.
 
Salut yoyo,
...tentons...

et 5+5, t'en penses quoi?

tu poses un problème de combinatoire :

le nombre de mots possibles -AU SECOURS les matheux-
qq chose qui fonctionne avec les factorielles -niveau 1ère, XVII siècle.

avec le zéro pour marquer l'absence , 6 chiffres, pour 5 cases,
ça ressemble à toutes les possibilités d'écrire
"00 001", "00 010", "00 012" .... "10 002"
par exemple 3 parmi 5=10 : 5! / (5-3)! / 3!
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5

C(0,5)=1 +C(1,5)=5 +C(2,5)=10 +C(3,5)=10 +C(4,5)=5 +Cc(5,5)=1 = 32 = 2^5

pour n chiffres, 2^n chiffres

Au plus simple, épuiser les "combinaisons",

plus malin chercher le complément à 10 après chaque "tirage"
1 5 => 10-5 = 5 restent (zéro compris) 6 chiffres possibles sur 4 cases
2 3 => 10-5-3 = 2 restent 3 chiffres possibles sur 3 cases
bien sûr
1 1 => 10-1 =9 6 chiffres sur 4 cases
2 1 encore => 10-1-1 =8 6 chiffres toujours sur 3 cases
3 1 encore => 10-1-1-1 =7 6 chiffres toujours sur 2 cases mais 3+4 2+5 sont seuls possibles.
4 1 encore => 10-1-1-1-1=6 impossible sur 1 case.

une sorte d'abaque du maximum possibe en X cases pourrait servir.
si la batterie de chiffres est figée, l'épuisement des combinaisons préexisterait utilement à la macro.

en cinq chiffres 0>4 :

cases 0 1 2 2 3 3 3 4 4 5
combi 1 5 10 10 10 10 10 5 5 1

totaux 0 0 "01 1 "012 "34 3 "1234 10 10
1 "02 2 "013 "24 4 "0234 9
2 "03 3 "014 "23 5 "0134 8
3 "04 4 "0124 7
4 "023 "14 5 "0123 6
"12 3 "024 "13 6
"13 4
"14 5 "034 "12 7

"23 5 "123 "04 6
"24 6 "124 "03 7
"134 "02 8
"34 7
"234 "01 9

Pour construire le chemin le plus court, je sèche.
Peut-être voir du côté de la programmation des arbres ...

Bon courage

JyM
 
Salut JyM,

Je te remercie pour ta réponse.
Concernant les 5+5 il s'agit d'une répétition, ce n'est pas autorisé.
Par contre pour ta proposition d'arbre cela me parai plus convenable.

Voici une proposition
1
|
----------------------------------------------
| | | |
---------2------- 3------- 4 5
| | | | | |
3 4 5 4 5 5
| | |
4 5 5
|
5
Serais tu ou je pourrais trouver un algorithme pour ce type d’arbre avec un accès à un nœud? A condition que cela te paraisse correcte.

Merci d’avance pour ta réponse.
 
je recommence.

Salut JyM,


Je te remercie pour ta réponse.
Concernant les 5+5 il s'agit d'une répétition, ce n'est pas autorisé.
Par contre pour ta proposition d'arbre cela me parai plus convenable.

Voici une proposition

Voir fichier join merci.

Serais tu ou je pourrais trouver un algorithme pour ce type d’arbre avec un accès à un nœud. A condition que cela te paraisse correcte.

Merci d’avance pour ta réponse.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
273
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
282
Retour