|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Petit bout de code récursif pour calculer les combinaisons C(n,p) sans remise
Par exemple, pour p=3 et n=5 (0,1,2,3,4) on obtient: [0,1,2] [0,1,3] [0,1,4] [0,2,3] [0,2,4] [0,3,4] [1,2,3] [1,2,4] [1,3,4] [2,3,4] Code java :
NB: en mettant la variable "ordered=false", on obtient la liste de tous les arrangements avec remise (= n^p possibilités)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#2 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Petit bout de code récursif pour calculer les permutations d'elements
Par exemple, pour size=3 on obtient: [0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0] Code java :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#3 | |
|
Invité(e)
![]() Messages : n/a ![]() |
J'ai l'erreur suivant avec ces codes alors que j'ai JDK 1.5.09
Citation:
Pourquoi? |
|
00
|
|
|
#4 | |||
![]() ![]() Inscription : juin 2006 Messages : 6 935 ![]() |
Citation:
Le contenu de la méthode est : Code java :
__________________
Je ne répondrai à aucune question technique en privé |
|||
|
|
00
|
|
|
#5 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Sans doute parce que le package n'est pas inclu. J'inclus rarement les packages "usuels" dans mes contributions, pour clarifier le code.
Au début de ta classe, ajoute la ligne:
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#6 |
|
Membre habitué
![]() Serge Inscription : octobre 2004 Messages : 342 ![]() |
Pour ceux que ça intéresse, la version php : http://www.developpez.net/forums/d10...s/#post5735781
|
|
|
00
|
|
|
#7 | ||||||||
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 3 ![]() |
Je vous propose à travers ces quelques lignes une approche différente et non récursive pour calculer les combinaisons possibles pour un charset donné et une longueur n.
Les éléments nécessaires sont les suivants : Code :
J’essaierai de répondre aux questions si il y a des problèmes de compréhension ou d’exécution Bien sur n'hésitez pas à donner votre avis, la méthode proposée n'est pas parfaite et peut surement être améliorée
|
||||||||
|
|
00
|
|
|
#8 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 818 ![]() |
Citation:
Ensemble = {A,B,C,D} i=54 (base 10) = 3*4² + 1*4 + 2*1 = 312 (base 4) ---> {D,B,C} Il y a cependant une astuce dans la conversion qui introduit un biais et permet de distinguer les 0 non significatifs ("1" et "01" par exemple)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com