[combinaisons] Besoin d'aide

Fermé
Sebastien C - 19 juin 2003 à 21:41
 Sebastien C - 20 juin 2003 à 20:20
Bonjour, je ne sais pas si je m'adresse aux bonnes personnes, mais sauriez-vous comment faire pour créer un programme qui génèrerait tous les sous-ensembles contenant le chiffre 1 d'un nombre p? Le tout soit sous forme de matrice [ (2^(p-1)-1) X p ] ou sous forme de suite de sous-ensembles. Merci !

ex: p=4
| 1 2 0 0 | ou (1,2)
| 1 3 0 0 | (1,3)
| 1 4 0 0 | (1,4)
| 1 2 3 0 | (1,2,3)
| 1 2 4 0 | (1,2,4)
| 1 3 4 0 | (1,3,4)
| 1 2 3 4 | (1,2,3,4)

2 réponses

AsKy Messages postés 998 Date d'inscription vendredi 25 janvier 2002 Statut Contributeur Dernière intervention 21 octobre 2006 65
19 juin 2003 à 22:11
salut,
en quel langage ?

Lord AsKy
Keep smiling !
0
Sebastien C
20 juin 2003 à 06:41
question pertinente :)
en C...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
20 juin 2003 à 09:07
J'ai pas bien compris la question :o)
Le chiffre 1 du nombre p?
Si p=23 alors le chiffre un (ou premier chiffre) est 2 non?
Quant a ton exemple, pourquoi tu ne mets pas aussi (1) tout seul?
Sinon le probleme revient a prendre pour p=4
1 parmi 3
2 parmi 3 et 3 parmi 3 non (on s'en fout un peu du 1 que tu peux rajouter au debut...)

Sinon c'est C ou C++?


.  .
\_/
0
Sebastien C
20 juin 2003 à 20:20
J'ai besoin de tous les sous-ensembles de taille 2 minimum ( donc c'est pourquoi je ne met pas le 1 tout seul) qu'on peut faire avec un nombre p.

Il y a toujours 2^(p-1)-1 sous ensembles pour n'importe quel p.

Le programme devrait être en C

ex:
p=5
n/p 1 2 3 4 5
1 1 2 0 0 0
2 1 3 0 0 0
3 1 4 0 0 0
4 1 5 0 0 0
5 1 2 3 0 0
6 1 2 4 0 0
7 1 2 5 0 0
8 1 3 4 0 0
9 1 3 5 0 0
10 1 4 5 0 0
11 1 2 3 4 0
12 1 2 3 5 0
13 1 2 4 5 0
14 1 3 4 5 0
15 1 2 3 4 5

comme tu le vois, la longueur de la matrice devient rapidement très grande... c'est pourquoi j'ai besoin d'un programme ;)

merci de t'y intéresser
s.
0