Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 01-07-2018 13:23:58

JpPhil
Membre
Inscription : 01-07-2018
Messages : 1

Répartir un effectif de joueur dans des groupes

Bonjour,
Je oublié mes cours de maths et je cherche une solution pour résoudre la question suivante :
J'ai un effectif variable de sportif que je souhaite tous répartir dans des groupes composés de N joueurs ou N-1. Je cherche la formule qui me permet de trouver le nombre de N et de N-1.
Exemple:
32 joueurs à répartir en groupe de 7 = 2 groupes de 7 et 3 groupes de 6.
33 joueurs à répartir en groupe de 5 = 5 groupes de 5 et 2 groupes de 4.

Pour des petits effectifs, on trouve facilement par déduction, mais dès que le groupe est important c'est plus compliqué.
Si quelqu'un à une solution ce serait super, après je me débrouille pour entrer le calcul dans un tableau excel avec ou sans vba.

Hors ligne

#2 01-07-2018 17:15:33

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : Répartir un effectif de joueur dans des groupes

Bonjour,

Aurais-tu d'autres contraintes ?
J'ai écrit 10 lignes de Python (basiques, pour être facilement transposables)
Solutions pour 32 :


 4 groupes de  5  et  3 groupes de  4 (*)
 4 groupes de  3  et 10 groupes de  2
 5 groupes de  4  et  4 groupes de  3
 6 groupes de  3  et  7 groupes de  2 (**)
 8 groupes de  3  et  4 groupes de  2
 (*) ou encore 5 groupes de 4  et  4 groupes de 3
(**) ou encore 3 groupes de 6  et  2 groupes de 7

Solutions pour 82 :


 4 groupes de  7  et  9 groupes de  6
 4 groupes de  4  et 22 groupes de  3
 4 groupes de  3  et 35 groupes de  2
 5 groupes de  8  et  6 groupes de  7
 6 groupes de  5  et 13 groupes de  4
 6 groupes de  3  et 32 groupes de  2
 7 groupes de  6  et  8 groupes de  5
 7 groupes de  4  et 18 groupes de  3
 8 groupes de  3  et 29 groupes de  2
10 groupes de  5  et  8 groupes de  4
10 groupes de  4  et 14 groupes de  3
10 groupes de  3  et 26 groupes de  2
12 groupes de  3  et 23 groupes de  2
13 groupes de  4  et 10 groupes de  3
14 groupes de  5  et  3 groupes de  4
14 groupes de  3  et 20 groupes de  2
16 groupes de  4  et  6 groupes de  3
16 groupes de  3  et 17 groupes de  2
18 groupes de  3  et 14 groupes de  2
20 groupes de  3  et 11 groupes de  2
22 groupes de  3  et  8 groupes de  2
24 groupes de  3  et  5 groupes de  2

Solutions pour 105 :


 3 groupes de 18  et  3 groupes de 17
 3 groupes de  7  et 14 groupes de  6
 3 groupes de  4  et 31 groupes de  3
 3 groupes de  3  et 48 groupes de  2
 5 groupes de 11  et  5 groupes de 10
 5 groupes de  6  et 15 groupes de  5
 5 groupes de  5  et 20 groupes de  4
 5 groupes de  3  et 45 groupes de  2
 6 groupes de 12  et  3 groupes de 11
 6 groupes de 10  et  5 groupes de  9
 6 groupes de  4  et 27 groupes de  3
 7 groupes de  8  et  7 groupes de  7
 7 groupes de  3  et 42 groupes de  2
 9 groupes de  9  et  3 groupes de  8
 9 groupes de  7  et  7 groupes de  6
 9 groupes de  5  et 15 groupes de  4
 9 groupes de  4  et 23 groupes de  3
 9 groupes de  3  et 39 groupes de  2
10 groupes de  6  et  9 groupes de  5
11 groupes de  3  et 36 groupes de  2
12 groupes de  4  et 19 groupes de  3
13 groupes de  5  et 10 groupes de  4
13 groupes de  3  et 33 groupes de  2
15 groupes de  6  et  3 groupes de  5
15 groupes de  4  et 15 groupes de  3
15 groupes de  3  et 30 groupes de  2
17 groupes de  5  et  5 groupes de  4
17 groupes de  3  et 27 groupes de  2
18 groupes de  4  et 11 groupes de  3
19 groupes de  3  et 24 groupes de  2
21 groupes de  4  et  7 groupes de  3
21 groupes de  3  et 21 groupes de  2
23 groupes de  3  et 18 groupes de  2
24 groupes de  4  et  3 groupes de  3
25 groupes de  3  et 15 groupes de  2
27 groupes de  3  et 12 groupes de  2
29 groupes de  3  et  9 groupes de  2
31 groupes de  3  et  6 groupes de  2
33 groupes de  3  et  3 groupes de  2

Qu'est-ce que ça t'inspire ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#3 03-07-2018 08:56:26

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : Répartir un effectif de joueur dans des groupes

Bonjour,

Pas intéressé ?
Bon, j'ai fait le taf, il n y aura donc pas d'optimisation autre du code que celle testée après publication...
Voilà la version qui a servi aux tests ci-dessus:


effectif = 105
arret=effectif//2
for a in range(3,arret):
    for b in range(3,arret):
        x=(b+effectif)//(b+a)
        y=x-1
        if a*x+b*y==effectif and x>2:
            print ("%2i" % a,"groupes de","%2i" % x," et ""%2i" % b,"groupes de","%2i" % y)

Version plus optimisée (pour les nombres de groupes) :

effectif = 105
arret=effectif//2
for a in range(3,arret):
    for b in range(3,arret):
        x=(b+effectif)//(b+a)
        y=x-1
        if a*x+b*y==effectif and x>3  and abs(a-b)<5:
            print ("%2i" % a,"groupes de","%2i" % x," et ""%2i" % b,"groupes de","%2i" % y)

Résultats pour 105 :


 3 groupes de 18  et  3 groupes de 17
 5 groupes de 11  et  5 groupes de 10
 6 groupes de 12  et  3 groupes de 11
 6 groupes de 10  et  5 groupes de  9
 7 groupes de  8  et  7 groupes de  7
 9 groupes de  7  et  7 groupes de  6
10 groupes de  6  et  9 groupes de  5
13 groupes de  5  et 10 groupes de  4
15 groupes de  4  et 15 groupes de  3

Pour 102 :


 3 groupes de 12  et  6 groupes de 11
 4 groupes de 15  et  3 groupes de 14
 6 groupes de  9  et  6 groupes de  8
 6 groupes de  7  et 10 groupes de  6
10 groupes de  5  et 13 groupes de  4
15 groupes de  4  et 14 groupes de  3

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums