Répartition

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 167
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Répartition  

#1

Message par Yle »

Existe t-il une fonction mathématique basée sur la répartition ?

Mon problème est le suivant :
J'ai une somme de 250€ à partager entre 4 personnes. La première devra recevoir 100, la seconde 75, 50 et 25 pour la dernière sachant qu'on ne donne pas des centimes.
Mon script fonctionne mais quand je travaille sur une plus grande échelle : 500€ à partager de façon progressive sur 10 ou plus de personnes, je coince...

QQ a t-il dans ses cartons résolu ce type de problème ?
Comment faut il aborder le problème ? Donner 10€ à la dernière personne, puis faire une boucle qui s'incrémente sur le pourcentage sachant que l'on ne doit pas dépasser la somme à remettre...

Merci d'avance pour une idée...
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Répartition

#2

Message par jchd »

Il suffit de faire le calcul.
Soit à répartir N "machins" entre P personnes. La derniere personne reçoit R, l'avant-dernière reçoit 2R, l'anté-pénultième reçoit 3R, etc.
Donc on a :
R + 2R + 3R + ... + PR = N
En factorisant :
R(1 + 2 + 3 + ... + P) = N
La somme des entiers de 1 à k vaut k(k+1)/2
RP(P+1)/2 = N
d'où :
R = 2N/(P(P+1))

Soit 500 € sur 12 personnes.
R = 1000/(12*13) ≈ 6.41
Ce qui donne la répartition : 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72 pour un total de 468 €.
Si on donnait 7 € au premier, il faudrait 546 €, ce qu'on n'a pas en poche.

T'as vu ça m'man, sans boucle !
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Yle
Niveau 5
Niveau 5
Messages : 167
Enregistré le : mar. 21 avr. 2009 17:22
Localisation : La NORMANDIE -76
Status : Hors ligne

Re: Répartition

#3

Message par Yle »

Bien vu...
Je vais adopter ta solution et l'adapter car j'ai oublié de préciser que la dernière personne devrait être remboursée de sa mise initiale.
Dans ton exemple, le dernier devrait toucher toucher 10 et non 6.

Grand merci.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Répartition

#4

Message par jchd »

C'est impossible sous les contraintes posées.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre