probleme de mathematique combinatoire. aide
Modérateur : Modérateurs
probleme de mathematique combinatoire. aide
Bonjour a tous
Je souhaiterai mettre en logiciel en Excel (macro)ou en vba.le problème suivant.
a)Soit une série numérique non chronologique S={x1, x2, x3,…..xn) compose de N chiffre.
Ex : S={1,4,6,8,9,10,2,20,25,30) soit N=10 chiffres.
b) Cette série S sera décompose en X groupe ou chaque groupe sera compose de Nb chiffres.
Le contenu entre chq groupe étant différent .chq groupe aura une condition CDt (m, M).
pour un grp X, la condition m (minimum) et M (maximum) signifie que il faudra utilise au minimum 2 chiffre et au Maximum 3 chiffres du groupe considère.
Ex grp1={1,4,9,10} Cdt =2 à 3
grp2= {6,8,2} Cdt= 1 à 2
grp3={20.25.30} Cdt= 0à 1
Au final
Chaque combinaison sera compose de l’association des groupes pour une longueur L
L étant le nb de chiffre dans la combinaison.
Combinaison =N (grp1 (Cdt)) +N (grp2 (Cdt)) +N (grp3 (Cdt))
Soit l’exemple reprenant les données ci-dessus.
S={1,4,6,8,9,10,2,20,25,30}
N =10, L=3
X=3 donc 3 groupe Grp1={1,4,9,10} ; grp2= {6,8,2} ; grp3={20.25.30}
Condition pour le Grp(1) ; Cdt de minimum =2 à Max=3
Condition pour le Grp(2) ; Cdt min =1 à Max =2
Condition pour le Grp(3) ; Cdt min =0 à Max=1
On décompose pour chq groupe
Grp1 (cdt2) donne (1.4) ;(1.9) ;(1.10) ; (4.9) ;(4.10) ;(9.10)
(cdt3) donne (1.4.9) ;(1.4.10) ;(4.9.10),(1.9.10)
Grp2 (Cdt1) donne 6 ;8 ;2
Cdt2 (donne (6.8) ;(6,2) ;(8.2)
Grp3 (cdt0) ne donne aucun chiffre
(cdt1) donne 20 ; 25 ; 30
Au final les combinaisons seront l’association de Grp1+Grp2+GRp3
1.4/6/0 retenu car l=3
1.4/6/20 non retenu car nb de chiffre dans la combi =4 >L=3
1.4/6/25 non retenu car nb de chiffre dans la combi =4 >L=3
1.4/8/0 retenu car l=3
1.4/6/20 non retenu car nb de chiffre dans la combi =4 >L=3
etc……
Une précision
Les valeurs des paramètres S, L, X ,Grp(x), m et M sont variables et donc rentres par l’utilisateur.
Merci d’avance.
si cela n'est pas clair, je peux eclaircir
bruno
Je souhaiterai mettre en logiciel en Excel (macro)ou en vba.le problème suivant.
a)Soit une série numérique non chronologique S={x1, x2, x3,…..xn) compose de N chiffre.
Ex : S={1,4,6,8,9,10,2,20,25,30) soit N=10 chiffres.
b) Cette série S sera décompose en X groupe ou chaque groupe sera compose de Nb chiffres.
Le contenu entre chq groupe étant différent .chq groupe aura une condition CDt (m, M).
pour un grp X, la condition m (minimum) et M (maximum) signifie que il faudra utilise au minimum 2 chiffre et au Maximum 3 chiffres du groupe considère.
Ex grp1={1,4,9,10} Cdt =2 à 3
grp2= {6,8,2} Cdt= 1 à 2
grp3={20.25.30} Cdt= 0à 1
Au final
Chaque combinaison sera compose de l’association des groupes pour une longueur L
L étant le nb de chiffre dans la combinaison.
Combinaison =N (grp1 (Cdt)) +N (grp2 (Cdt)) +N (grp3 (Cdt))
Soit l’exemple reprenant les données ci-dessus.
S={1,4,6,8,9,10,2,20,25,30}
N =10, L=3
X=3 donc 3 groupe Grp1={1,4,9,10} ; grp2= {6,8,2} ; grp3={20.25.30}
Condition pour le Grp(1) ; Cdt de minimum =2 à Max=3
Condition pour le Grp(2) ; Cdt min =1 à Max =2
Condition pour le Grp(3) ; Cdt min =0 à Max=1
On décompose pour chq groupe
Grp1 (cdt2) donne (1.4) ;(1.9) ;(1.10) ; (4.9) ;(4.10) ;(9.10)
(cdt3) donne (1.4.9) ;(1.4.10) ;(4.9.10),(1.9.10)
Grp2 (Cdt1) donne 6 ;8 ;2
Cdt2 (donne (6.8) ;(6,2) ;(8.2)
Grp3 (cdt0) ne donne aucun chiffre
(cdt1) donne 20 ; 25 ; 30
Au final les combinaisons seront l’association de Grp1+Grp2+GRp3
1.4/6/0 retenu car l=3
1.4/6/20 non retenu car nb de chiffre dans la combi =4 >L=3
1.4/6/25 non retenu car nb de chiffre dans la combi =4 >L=3
1.4/8/0 retenu car l=3
1.4/6/20 non retenu car nb de chiffre dans la combi =4 >L=3
etc……
Une précision
Les valeurs des paramètres S, L, X ,Grp(x), m et M sont variables et donc rentres par l’utilisateur.
Merci d’avance.
si cela n'est pas clair, je peux eclaircir
bruno
en voila un programme bizarre
c'est pas très difficile à réaliser, mais je n'ai jamais fait de macro excel ni de vb
par contre en C par exemple ca doit pas être très dur
c'est pas très difficile à réaliser, mais je n'ai jamais fait de macro excel ni de vb
par contre en C par exemple ca doit pas être très dur
je suis certain que vous croyez avoir compris ce que j'essayais de vous dire, mais êtes-vous sûr que ce que j'ai dit correspondait vraiment à ce que je voulais dire ?
en fait le seul problème c'est pour rentrer la valeur des éléments des groupes
je vois pas d'autre moyen que de tous les rentrer un à un
ou alors aléatoirement ?
je vois pas d'autre moyen que de tous les rentrer un à un
ou alors aléatoirement ?
je suis certain que vous croyez avoir compris ce que j'essayais de vous dire, mais êtes-vous sûr que ce que j'ai dit correspondait vraiment à ce que je voulais dire ?
valeurs des groupes
bonsoir
Exact, un oublie de ma part ,
effectivement , quand l'utiilisateur , a tout selectionne, nb de groupe, garantie par groupe, longueur, il doit rentrer a la moins les valeurs dans chaque groupe . par contre il faudrait verifier que toutes les valeurs rentres appartiennent bien à la Serie S et quelles sont uniques .
bruno
Exact, un oublie de ma part ,
effectivement , quand l'utiilisateur , a tout selectionne, nb de groupe, garantie par groupe, longueur, il doit rentrer a la moins les valeurs dans chaque groupe . par contre il faudrait verifier que toutes les valeurs rentres appartiennent bien à la Serie S et quelles sont uniques .
bruno
c'est un peu chiant a faire comme prgm
calculer les combinaisons c'est facile, mais la partie pour rentrer les valeurs c'est assez chiant
ou alors il faut éditer le programme à chaque fois
en fait j'ai pas vraiment envie de faire de l'allocation dynamique de mémoire juste pour ca
a mon avis le C n'est pas fait pour ca
mais ce programme c'est pour faire beaucoup de calculs, avec de très grandes suites ?
calculer les combinaisons c'est facile, mais la partie pour rentrer les valeurs c'est assez chiant
ou alors il faut éditer le programme à chaque fois
en fait j'ai pas vraiment envie de faire de l'allocation dynamique de mémoire juste pour ca
a mon avis le C n'est pas fait pour ca
mais ce programme c'est pour faire beaucoup de calculs, avec de très grandes suites ?
je suis certain que vous croyez avoir compris ce que j'essayais de vous dire, mais êtes-vous sûr que ce que j'ai dit correspondait vraiment à ce que je voulais dire ?
progra
salut
Pour la longueur de la serie le maxi sera minimun 3 maxi 80
le nombre de groupe sera au minimun de 3 au maxi de 10
dans chaque groupe le mini sera 0 à 20 .
Pour rentrer les donnees de chaque groupe ne peut on pas ouvrir une fenetre qui demandera a l'utilisateur:
ex: Groupe 1 a) combien de donnees à rentrer ? XX +( validation)
b) veuillez rentrer vos donnees ! x +(validation) + test
que le nb de donnees rentrees correspond au nombre du
groupe rentre en A)
si cela est plus simple , a chaque lancement du programme les variables peuvent etre initialisees .
bruno
arf je ne sais pas faire ca (gérer les fenêtres)!
je ne fais que du calcul scientifque .....
il faudrait le faire en vba
mais ca je ne peux pas
je ne fais que du calcul scientifque .....
il faudrait le faire en vba
mais ca je ne peux pas
je suis certain que vous croyez avoir compris ce que j'essayais de vous dire, mais êtes-vous sûr que ce que j'ai dit correspondait vraiment à ce que je voulais dire ?
C'est faisable dans excel en utilisant les macros et les userForm pour faire les fenêtres qui apparaissent.
J'ai quelques questions :
1-Est ce qu'on peut avoir plusieurs fois le même nombre dans la série S ?
2-Est-ce que c'est l'utilisateur qui choisi quel valeur il mets dans tel ou tel groupe ou est ce que c'est fait aléatoirement ? Si c'est l'utilisateur qui choisi est ce que ce n'est pas plus simple de partir directement des groupes rentrés par l'utilisateur plutot que de la série ?
3-Dans la première combinaison "1.4/6/0" tu dis qu'il y a 3 chiffres alors que j'en compte 4 (à moins que le 0 ne soit en fait Ø auquel cas tu ne le compte pas).
4-A quoi ça sert ?
J'ai quelques questions :
1-Est ce qu'on peut avoir plusieurs fois le même nombre dans la série S ?
2-Est-ce que c'est l'utilisateur qui choisi quel valeur il mets dans tel ou tel groupe ou est ce que c'est fait aléatoirement ? Si c'est l'utilisateur qui choisi est ce que ce n'est pas plus simple de partir directement des groupes rentrés par l'utilisateur plutot que de la série ?
3-Dans la première combinaison "1.4/6/0" tu dis qu'il y a 3 chiffres alors que j'en compte 4 (à moins que le 0 ne soit en fait Ø auquel cas tu ne le compte pas).
4-A quoi ça sert ?