Bonjour,
Je me prend la tête depuis plusieurs heures sur un problème vraiment "con"
J'ai un tableau de 8 cases : Tab(8). Il est rempli de la manière suivante
Tab(0)=A
Tab(1)=B
....
Tab(7)=H
Je voudrais afficher toute les solutions possible de concaténation de chaque
case comme ci-dessous
Le nombre de solution je pense doit faire la taille de mon tableau au carré
Voila si quelqu'un êut m'aider c'est pas trop un problème de code mais c'est
plutot un problème de raisonnement les algos que j'ai fait ne donnent pas ce
que j'attend
Merci d'avance
ABCDEFGH
ABCDEFG
ABCDEF
ABCDE
ABCD
ABC
AB
BCDEFGHA
BCDEFGH
BCDEFG
BCDEF
BCDE
BCD
BC
B
CDEFGHAB
CDEFGHA
CDEFGH
CDEFG
CDEF
CDE
CD
C
DEFGHABC
DEFGHAB
DEFGHA
DEFGH
.........
Je précise que malgré mon speudo je travaille sous vb6 et pas en .net !
Jean-Marc
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
Bonjour, Je me prend la tête depuis plusieurs heures sur un problème vraiment "con"
J'ai un tableau de 8 cases : Tab(8). Il est rempli de la manière suivante Tab(0)=A Tab(1)=B .... Tab(7)=H
Je voudrais afficher toute les solutions possible de concaténation de
chaque
case comme ci-dessous Le nombre de solution je pense doit faire la taille de mon tableau au
carré
Voila si quelqu'un êut m'aider c'est pas trop un problème de code mais
c'est
plutot un problème de raisonnement les algos que j'ai fait ne donnent pas
ce
que j'attend
Hello,
voici:
Private Sub Command1_Click() Dim t(7) As String Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim tmp As String ' init For i = 1 To 7 t(i) = Chr$(64 + i) ' A, B, C, ... Next i
For i = 1 To 7 For j = 7 To 1 Step -1 For k = 1 To j Debug.Print t(k); Next k Debug.Print Next j ' rotation tmp = t(1) For l = 1 To 6 t(l) = t(l + 1) Next l t(7) = tmp Next i End Sub
et le résultat, comme demandé: ABCDEFG ABCDEF ABCDE ABCD ABC AB A BCDEFGA BCDEFG BCDEF BCDE BCD BC B CDEFGAB CDEFGA CDEFG CDEF CDE CD C DEFGABC DEFGAB DEFGA DEFG DEF DE D EFGABCD EFGABC EFGAB EFGA EFG EF E FGABCDE FGABCD FGABC FGAB FGA FG F GABCDEF GABCDE GABCD GABC GAB GA G
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"Titeuf [VB.Net 2005]" <titeuf@nospam.fr> a écrit dans le message de
news:O7Vp56gtFHA.3628@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je me prend la tête depuis plusieurs heures sur un problème vraiment "con"
J'ai un tableau de 8 cases : Tab(8). Il est rempli de la manière suivante
Tab(0)=A
Tab(1)=B
....
Tab(7)=H
Je voudrais afficher toute les solutions possible de concaténation de
chaque
case comme ci-dessous
Le nombre de solution je pense doit faire la taille de mon tableau au
carré
Voila si quelqu'un êut m'aider c'est pas trop un problème de code mais
c'est
plutot un problème de raisonnement les algos que j'ai fait ne donnent pas
ce
que j'attend
Hello,
voici:
Private Sub Command1_Click()
Dim t(7) As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim tmp As String
' init
For i = 1 To 7
t(i) = Chr$(64 + i) ' A, B, C, ...
Next i
For i = 1 To 7
For j = 7 To 1 Step -1
For k = 1 To j
Debug.Print t(k);
Next k
Debug.Print
Next j
' rotation
tmp = t(1)
For l = 1 To 6
t(l) = t(l + 1)
Next l
t(7) = tmp
Next i
End Sub
et le résultat, comme demandé:
ABCDEFG
ABCDEF
ABCDE
ABCD
ABC
AB
A
BCDEFGA
BCDEFG
BCDEF
BCDE
BCD
BC
B
CDEFGAB
CDEFGA
CDEFG
CDEF
CDE
CD
C
DEFGABC
DEFGAB
DEFGA
DEFG
DEF
DE
D
EFGABCD
EFGABC
EFGAB
EFGA
EFG
EF
E
FGABCDE
FGABCD
FGABC
FGAB
FGA
FG
F
GABCDEF
GABCDE
GABCD
GABC
GAB
GA
G
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
Bonjour, Je me prend la tête depuis plusieurs heures sur un problème vraiment "con"
J'ai un tableau de 8 cases : Tab(8). Il est rempli de la manière suivante Tab(0)=A Tab(1)=B .... Tab(7)=H
Je voudrais afficher toute les solutions possible de concaténation de
chaque
case comme ci-dessous Le nombre de solution je pense doit faire la taille de mon tableau au
carré
Voila si quelqu'un êut m'aider c'est pas trop un problème de code mais
c'est
plutot un problème de raisonnement les algos que j'ai fait ne donnent pas
ce
que j'attend
Hello,
voici:
Private Sub Command1_Click() Dim t(7) As String Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim tmp As String ' init For i = 1 To 7 t(i) = Chr$(64 + i) ' A, B, C, ... Next i
For i = 1 To 7 For j = 7 To 1 Step -1 For k = 1 To j Debug.Print t(k); Next k Debug.Print Next j ' rotation tmp = t(1) For l = 1 To 6 t(l) = t(l + 1) Next l t(7) = tmp Next i End Sub
et le résultat, comme demandé: ABCDEFG ABCDEF ABCDE ABCD ABC AB A BCDEFGA BCDEFG BCDEF BCDE BCD BC B CDEFGAB CDEFGA CDEFG CDEF CDE CD C DEFGABC DEFGAB DEFGA DEFG DEF DE D EFGABCD EFGABC EFGAB EFGA EFG EF E FGABCDE FGABCD FGABC FGAB FGA FG F GABCDEF GABCDE GABCD GABC GAB GA G
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Titeuf [VB.Net 2005]
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai
du mal avec les algos
Je vais regardé d'un peu plus près....
Merci beaucoup
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
Titeuf [VB.Net 2005]
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne marche pas j'ai des trucs bizarre
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la rotation J'en faisait que 2 est cela me donnais comme toi mais après c'est pour mettre cela dans un tableau sa coince Si tu as une idée pour récupérer toute les solutions dans un tableau de string merci d'avance
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne
marche pas j'ai des trucs bizarre
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la
rotation
J'en faisait que 2 est cela me donnais comme toi mais après c'est pour
mettre cela dans un tableau sa coince
Si tu as une idée pour récupérer toute les solutions dans un tableau de
string merci d'avance
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne marche pas j'ai des trucs bizarre
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la rotation J'en faisait que 2 est cela me donnais comme toi mais après c'est pour mettre cela dans un tableau sa coince Si tu as une idée pour récupérer toute les solutions dans un tableau de string merci d'avance
Jean-Marc
"Titeuf [VB.Net 2005]" a écrit dans le message de news:%
Re,
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne marche pas j'ai des trucs bizarre
Rien de bien compliqué.
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la rotation
Parce que ca rend le programme plus lisible et facil à modifier de se servir d'une troisième boucle pour jouer avec les indices.
J'en faisait que 2 est cela me donnais comme toi mais après c'est pour mettre cela dans un tableau sa coince Si tu as une idée pour récupérer toute les solutions dans un tableau de string merci d'avance
Oui, plus qu'une idée même :-))
' 8<---------------------------------
Private Sub Command1_Click() Dim t(7) As String Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim tmp As String
Dim solu() As String Dim nbsol As Integer
' init For i = 1 To 7 t(i) = Chr$(64 + i) ' A, B, C, ... Next i
For i = 1 To 7 For j = 7 To 1 Step -1 tmp = "" For k = 1 To j tmp = tmp & t(k) Next k nbsol = nbsol + 1 ReDim Preserve solu(nbsol) solu(nbsol) = tmp Next j ' rotation tmp = t(1) For l = 1 To 6 t(l) = t(l + 1) Next l t(7) = tmp Next i
' verification Debug.Print "il y a " & nbsol & " combinaisons:" For i = 1 To nbsol Debug.Print solu(i) Next i End Sub
' 8<---------------------------------
Et voila :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"Titeuf [VB.Net 2005]" <titeuf@nospam.fr> a écrit dans le message de
news:%23qJwAtjtFHA.3252@TK2MSFTNGP10.phx.gbl...
Re,
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne
marche pas j'ai des trucs bizarre
Rien de bien compliqué.
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la
rotation
Parce que ca rend le programme plus lisible et facil à modifier
de se servir d'une troisième boucle pour jouer
avec les indices.
J'en faisait que 2 est cela me donnais comme toi mais après c'est pour
mettre cela dans un tableau sa coince
Si tu as une idée pour récupérer toute les solutions dans un tableau de
string merci d'avance
Oui, plus qu'une idée même :-))
' 8<---------------------------------
Private Sub Command1_Click()
Dim t(7) As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim tmp As String
Dim solu() As String
Dim nbsol As Integer
' init
For i = 1 To 7
t(i) = Chr$(64 + i) ' A, B, C, ...
Next i
For i = 1 To 7
For j = 7 To 1 Step -1
tmp = ""
For k = 1 To j
tmp = tmp & t(k)
Next k
nbsol = nbsol + 1
ReDim Preserve solu(nbsol)
solu(nbsol) = tmp
Next j
' rotation
tmp = t(1)
For l = 1 To 6
t(l) = t(l + 1)
Next l
t(7) = tmp
Next i
' verification
Debug.Print "il y a " & nbsol & " combinaisons:"
For i = 1 To nbsol
Debug.Print solu(i)
Next i
End Sub
' 8<---------------------------------
Et voila :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Titeuf [VB.Net 2005]" a écrit dans le message de news:%
Re,
Aie quand j'essais de récupérer chaque solution dans un tableau cela ne marche pas j'ai des trucs bizarre
Rien de bien compliqué.
Sinon je ne comprend pas très bien pourquoi tu fais 3 boucles avant la rotation
Parce que ca rend le programme plus lisible et facil à modifier de se servir d'une troisième boucle pour jouer avec les indices.
J'en faisait que 2 est cela me donnais comme toi mais après c'est pour mettre cela dans un tableau sa coince Si tu as une idée pour récupérer toute les solutions dans un tableau de string merci d'avance
Oui, plus qu'une idée même :-))
' 8<---------------------------------
Private Sub Command1_Click() Dim t(7) As String Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim tmp As String
Dim solu() As String Dim nbsol As Integer
' init For i = 1 To 7 t(i) = Chr$(64 + i) ' A, B, C, ... Next i
For i = 1 To 7 For j = 7 To 1 Step -1 tmp = "" For k = 1 To j tmp = tmp & t(k) Next k nbsol = nbsol + 1 ReDim Preserve solu(nbsol) solu(nbsol) = tmp Next j ' rotation tmp = t(1) For l = 1 To 6 t(l) = t(l + 1) Next l t(7) = tmp Next i
' verification Debug.Print "il y a " & nbsol & " combinaisons:" For i = 1 To nbsol Debug.Print solu(i) Next i End Sub
' 8<---------------------------------
Et voila :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Patrice Henrio
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles avec au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les mots possibles en faisant une rotation des lettres.
"Titeuf [VB.Net 2005]" <titeuf@nospam.fr> a écrit dans le message de news:
eVxW3XhtFHA.2948@TK2MSFTNGP15.phx.gbl...
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que
j'ai du mal avec les algos
Je vais regardé d'un peu plus près....
Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles.
D'après ce que je comprends il s'agit d'écrire tous les mots possibles avec
au plus une fois chaque lettre.
Ainsi avec 3 lettres
A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions
au lieu de
ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les mots
possibles en faisant une rotation des lettres.
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles avec au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les mots possibles en faisant une rotation des lettres.
Titeuf [VB.Net 2005]
Merci à jean-marc pour son algo pour le temps qu'il a passé pour moi il m'a bien été utile même si c'est c'est vrai j'ai remarqué qu'il ne donné pas toute les solutions en fait j'en ai besoin pour un petit prog qui evite lorsque l'on a une tonne de dossier à graver sur cd de passer un temps fou à choisir les bon dossiers pour "gaspiller lol" le moins de place possible sur le cd ou dvd alors voila cette algo me permet de rechercher toute les solutions entre chaque dossier (taille) pour éviter de "gaspiller" de la place sur le cd pour etre plus clair voir ma source http://vbperfect.free.fr/cdprg.zip attention c'est baclé comme code c'est du provisoire mais bon c'est vrai que si vous avez un peu de temps je vous en remercie d'avance...
"Patrice Henrio" a écrit dans le message de news:
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles avec au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les mots possibles en faisant une rotation des lettres.
Merci à jean-marc pour son algo pour le temps qu'il a passé pour moi il m'a
bien été utile même si c'est c'est vrai j'ai remarqué qu'il ne donné pas
toute les solutions
en fait j'en ai besoin pour un petit prog qui evite lorsque l'on a une tonne
de dossier à graver sur cd de passer un temps fou à choisir les bon dossiers
pour "gaspiller lol" le moins de place possible sur le cd ou dvd
alors voila cette algo me permet de rechercher toute les solutions entre
chaque dossier (taille) pour éviter de "gaspiller" de la place sur le cd
pour etre plus clair voir ma source http://vbperfect.free.fr/cdprg.zip
attention c'est baclé comme code c'est du provisoire mais bon c'est vrai que
si vous avez un peu de temps je vous en remercie d'avance...
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: OlAI9RrtFHA.460@TK2MSFTNGP15.phx.gbl...
"Titeuf [VB.Net 2005]" <titeuf@nospam.fr> a écrit dans le message de news:
eVxW3XhtFHA.2948@TK2MSFTNGP15.phx.gbl...
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que
j'ai du mal avec les algos
Je vais regardé d'un peu plus près....
Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles.
D'après ce que je comprends il s'agit d'écrire tous les mots possibles
avec
au plus une fois chaque lettre.
Ainsi avec 3 lettres
A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions
au lieu de
ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les
mots possibles en faisant une rotation des lettres.
Merci à jean-marc pour son algo pour le temps qu'il a passé pour moi il m'a bien été utile même si c'est c'est vrai j'ai remarqué qu'il ne donné pas toute les solutions en fait j'en ai besoin pour un petit prog qui evite lorsque l'on a une tonne de dossier à graver sur cd de passer un temps fou à choisir les bon dossiers pour "gaspiller lol" le moins de place possible sur le cd ou dvd alors voila cette algo me permet de rechercher toute les solutions entre chaque dossier (taille) pour éviter de "gaspiller" de la place sur le cd pour etre plus clair voir ma source http://vbperfect.free.fr/cdprg.zip attention c'est baclé comme code c'est du provisoire mais bon c'est vrai que si vous avez un peu de temps je vous en remercie d'avance...
"Patrice Henrio" a écrit dans le message de news:
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que j'ai du mal avec les algos Je vais regardé d'un peu plus près.... Merci beaucoup
Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles avec au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les mots possibles en faisant une rotation des lettres.
Jean-Marc
"Patrice Henrio" a écrit dans le message de news:
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
> J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que > j'ai du mal avec les algos > Je vais regardé d'un peu plus près.... > Merci beaucoup > Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles
avec
au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les
mots
possibles en faisant une rotation des lettres.
Hello,
c'est en effet ce que disaient les "spécifications" de titeuf. Bien entendu, cela ne donne pas toutes les compbinaisons comme tu le dis très justement. Il y a différents algorithmes pour calculer les combinaisons de lettres. Ce type d'algo génère énormément de solutions, de façon très exponentielle: Pour n lettres, c'est en effet la somme des arrangements de n parmi n + arrangements de n-1 parmi n, etc.
Le calcul pour 5 lettres nous donne déjà 325 solutions, et au dela, ça explose!
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:OlAI9RrtFHA.460@TK2MSFTNGP15.phx.gbl...
"Titeuf [VB.Net 2005]" <titeuf@nospam.fr> a écrit dans le message de news:
eVxW3XhtFHA.2948@TK2MSFTNGP15.phx.gbl...
> J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que
> j'ai du mal avec les algos
> Je vais regardé d'un peu plus près....
> Merci beaucoup
>
Il me semble que cela ne donne pas toutes les concaténations possibles.
D'après ce que je comprends il s'agit d'écrire tous les mots possibles
avec
au plus une fois chaque lettre.
Ainsi avec 3 lettres
A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions
au lieu de
ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les
mots
possibles en faisant une rotation des lettres.
Hello,
c'est en effet ce que disaient les "spécifications" de titeuf.
Bien entendu, cela ne donne pas toutes les compbinaisons comme
tu le dis très justement.
Il y a différents algorithmes pour calculer les combinaisons de
lettres. Ce type d'algo génère énormément de solutions,
de façon très exponentielle:
Pour n lettres, c'est en effet la somme des arrangements
de n parmi n + arrangements de n-1 parmi n, etc.
Le calcul pour 5 lettres nous donne déjà 325 solutions,
et au dela, ça explose!
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Titeuf [VB.Net 2005]" a écrit dans le message de news:
> J'ai pas trop le raisonnement mathématique c'est peut etre pour ca que > j'ai du mal avec les algos > Je vais regardé d'un peu plus près.... > Merci beaucoup > Il me semble que cela ne donne pas toutes les concaténations possibles. D'après ce que je comprends il s'agit d'écrire tous les mots possibles
avec
au plus une fois chaque lettre. Ainsi avec 3 lettres A, B, C, AB, AC, BA, BC,CA,CB, ABC,ACB,BAC,BCA,CAB,CBA : 15 solutions au lieu de ABC,AB,A,BCA,BC,B,CAB,CA,C : 9 solutions
Dés que j'ai un peu de temps je me penche sur un algo qui fait cela.
Ceci étant peut-être la question est-elle en effet de trouver tous les
mots
possibles en faisant une rotation des lettres.
Hello,
c'est en effet ce que disaient les "spécifications" de titeuf. Bien entendu, cela ne donne pas toutes les compbinaisons comme tu le dis très justement. Il y a différents algorithmes pour calculer les combinaisons de lettres. Ce type d'algo génère énormément de solutions, de façon très exponentielle: Pour n lettres, c'est en effet la somme des arrangements de n parmi n + arrangements de n-1 parmi n, etc.