Aide pour un programme python

Aide pour un programme python - Python - Programmation

Marsh Posté le 09-12-2009 à 13:11:02    

Bonjour,
 
J'aimerais savoir si il aurait une personne assez sympathique pour me donner un petit coup de main sur un petit exo de python.  
Ici le problème est d'abord mathématique avant d'être un problème de programmation ce qui ma bloquer dès le début !
 
Voici mon problème:
 
Construisez une liste des parties de [n] telle que deux éléments consécutif de la liste
se distingue que par l’addition ou par l’enlèvement d’un élément. Par exemple la suite :
[], [1], [1, 2], [2], [2, 3], [1, 2, 3], [1, 3], [3]
répond à la question pour n = 3.
Indication Le cas suivant n = 4 montre une symétrie qui donne la clef pour une solution récursive :
[], [1], [1, 2], [2], [2, 3], [1, 2, 3], [1, 3], [3], [3, 4], [1, 3, 4], [1, 2, 3, 4], [2, 3, 4], [2, 4], [1, 2, 4], [1, 4], [4] .
Pour obtenir une copie d’une liste on peut faire copie= orig [:] .
 
Mercii d'avance !


---------------
Tout le problème de ce monde, c'est que les idiots et les fanatiques sont toujours si sûrs d'eux, tandis que les sages sont tellement pleins de doutes.
Reply

Marsh Posté le 09-12-2009 à 13:11:02   

Reply

Marsh Posté le 09-12-2009 à 13:32:08    

Quelle est la question au juste ?

Reply

Marsh Posté le 09-12-2009 à 13:35:45    

Je demande juste une aide pour m'éclairer sur le sujet, je ne comprend pas par quel moyen je peux traduire ce problème mathématique en programme python,

Reply

Marsh Posté le 09-12-2009 à 13:40:20    

Rash44 a écrit :

Je demande juste une aide pour m'éclairer sur le sujet, je ne comprend pas par quel moyen je peux traduire ce problème mathématique en programme python,


en trouvant un algorithme :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 09-12-2009 à 13:40:47    

Tu dois créer une liste de n-uplets de valeurs, de 1 à n.
Chaque n-uplet doit être unique.
Chaque n-uplet découle du n-uplet précédent, soit en y ajoutant une nouvelle valeur, soit en enlevant une valeur du n-uplet précédent.
 
Pour n = 3:
Etat initial : []
On ne peut rien retirer, donc on ajoute une nouvelle valeur : [1]
On ne peut rien retirer (sinon obtention du n-uplet initial), donc ajout d'une nouvelle valeur : [1,2]
On peut retirer 2 du n-uplet précédent pour obtenir un n-uplet unique : [2]
On ne peut rien retirer, donc on ajoute une nouvelle valeur (qui ne peut pas être 1, sinon nouveau n-uplet non unique) : [2,3]
etc.

Reply

Marsh Posté le 09-12-2009 à 13:47:25    

Biensur en créant un algorithme, mais sa arrive de patoger un peu quand on essaye de l'écrire et que le problème n'est pas totalement compris mon cher Harkonnen!
 
Merci bien Elmoricq pour ton aide, c'est beaucoup plus clair maintenant ;)
 
@+

Reply

Marsh Posté le 22-12-2009 à 02:56:18    

Sta dire que l'algorithme il est donné dans l'indication : à partir de la solution pour n  se terminant par [n] (appelons la S_n),  on construit S_n+1 en parcourant S_n une première fois, puis une seconde, dans l'autre sens en rajoutant n+1 dans toutes les parties et on termine par [n+1].


---------------
In God we trust, all others bring data. –William E. Deming (?)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed