Problème de logique

Résolu
Bonjour,

Help !

J'ai problème perso de logique à résoudre :
Dans une association il y a dix personnes qui ont à eux tous 1437 parts.
Il faut que je récupére 3000 € mais je veux que celui qui a plus de parts paye le moins
exemple : david qui 27 parts doit payer plus que Jean qui a investi et qui 327 parts
Pouvez-vous donc m'aider à savoir combien vont payer chacun en fonction de leurs nombres de parts ?
Par avance je vous en remercie
Cordialement
Configuration: Windows XP
Internet Explorer 7.0

34 réponses

Résumé de la discussion

Le problème consiste à répartir 3000 € entre dix personnes selon le nombre de parts, en faisant en sorte que celui qui a le plus de parts paye le moins. Une approche consiste à répartir selon l’inverse des parts: chaque montant est proportionnel à 1/ni, et le total est ramené à 3000 € par un facteur calculé comme Q divisé par la somme des inverses. En pratique, on calcule S = somme des inverses des parts, puis pay_i = 3000 × (1/ni) / S. D'autres variantes existent, notamment l'allocation quasi inverse ou des ajustements en cas de parts identiques, mais l'approche présentée offre une répartition proportionnelle et mesurable selon le nombre de parts.

Bobot (l’IA à votre service)
  1. Pour conclure : n'ayant aucune indication de protocole dans l'énoncé de ton problème, toutes les solutions données par les divers intervenants sont bonnes si elles respectent le fait de payer plus avec le moins de parts.
    une solution totalement arbitraire est bonne aussi.
    pour revenir sur la solution d'une loi inversement proportionnelle : on part du même point que les autres lois
    - trouver k pour que chaque personne (ni) paye inversement proportionnellement au nombre de ses parts.
    - soit k/ni et donc somme(k/ni) de i = 1 à N = Q on obtient k.(somme des 1/ni)=Q d'où k = Q/somme (1/ni)
    - chaque personne payera s(i)=Q/(ni.somme(1/ni))

    sur excel ou open-office c'est facile à faire ou avec la calculette des accessoires de XP.

    Ceci dit, à mon avis, la seule loi acceptable par tous les participants est que chaque somme versé (selon n'importe quelle loi) se transforme en nombre de parts supplémentaires jusqu'à ce les parts de tous soient identiques.

    A+
    1. Raisonnement (revu et corrigé):
      Si Q est la quantité à obtenir
      p est le nombre de parts
      N le nombre de personnes
      Si n1 a n1 parts et n2 a n2 parts et ni a ni parts sachant que Somme(ni)= p

      Il reste une inconnu dans le problème, c'est la loi de répartition. Car on peut prendre n'importe quelle loi qui normalisé donne 1 et qui peut dépendre du nombre de part.
      Mais si on prend la loi arbitraire suivante :
      chacun paye une part proportionelle au complément de son nombre de part au total de part
      soit pour (ni) une somme égale à k.(p-ni)/p (k étant un facteur multiplicatif à déterminer)
      (nota : on peut voir qu'on peut prendre le complément à la moitié des parts ou tout autre solution)
      Bref, avec cette loi, On obtient comme total : Somme(k.(p-ni)/p) de 1 à N
      = k/p.( somme(p-ni))
      = (k/p).(N.p –Somme(ni))
      soit = k.(N-1)
      Comme cette somme est égale à Q
      donc Q = k.(N-1) soit k = Q/(N-1)
      Pour que la somme soit égale à Q, le facteur de proportionnalité k est égale Q/(N-1)
      Chaque participant ni (= nbre de part de i) payera une somme de Q/(N-1).(p-ni)/p

      on peut voir qui si on prend un loi au complément à la moitié çà marche aussi et k est différent.
      Ce qui montre que le problème à une infinité de solution selon l'arbitraire de celui qui décide.

      une loi normalisée arbitraire c'est dire : quand on a une part on paye 100 quand on a 2 on paye 50 quand on en a 3 on paye 2 et ainsi de suite on fait la somme et on normalise à 1 pour chaque cas de 1 à p parts

      A+
      1. Je te l'envoies demain matin. Bloqué aujourd'hui. mon internet m... meu meu.

        A+
        1. je veux bien quand même que tu m'envoies le fichier si cela ne te dérange pas et merci
          1. si problème je joindrais un fichier open office plus explicite.

            A+
            1. je te remercie de ton dévouement, bon à lire comme cela cela me parait du charabia mais je vais l'imprimer et y réflechir à tête reposée ! merci beaucoup encore !!! tu as été très patient et très "professionnel "!!
              1. le problème n'est pas si simple qu'on veut bien te le dire.

                le raisonnement est un raisonnement par récurrence que voici :
                Si p est le nombre part et Q le montant à obtenir.
                tu pars de 2 pers : si le 1 à n1 parts le 2 à n2 parts avec n1+n2 = p, on peut donc dire que 1 devra payer (p-n1)/p x Q et 2 (p-n2)/p xQ
                si on applique çà à n personnes, et qu'on fais payer à chacune personne i (p-ni)/p x Q on obtient une somme égale à Qx(n-1) donc en faisant payer à chqaue personne une valeur de Qx(p-ni)/p/(n-1) on a une répartition inversement proportionnelle au nombre de parts de chacun dont la somme est égale à Q.
                Somme(pour i de 1 à n) de Qx(p-ni)/p/(n-1) = Q x (np-p)/p/(n-1)=Q

                A+
                1. Si tu raisonnes par récurrence, il faut vérifier que la propriété se transmet...
                  ton raisonnement est bon pour n=2 mais pour n=3 il ne marche déjà plus...

                  par ex:

                  n = 3
                  Q = 100
                  p = 10
                  n1 = 5
                  n2 = 3
                  n3 = 2

                  prix(i) = (Q*(p-ni)/p)/(n-1)
                  prix(1) = (100*(10-5)/10)/2 = 25
                  prix(2) = (100*(10-3)/10)/2 = 35
                  prix(3) = (100*(10-2)/10)/2 = 40

                  or n1/n2 = 5/3 et p1/p2 = 5/7 alors que si c'était inversement proportionnel, on devrait trouver 3/5...

              2. comment tu as fait alors ? car c'est toi qui as fait les calculs ?
                1. effectivement en fonction de ce résultat les proportions sont respectées. Peux-tu me dire ton procédé de calcul et je ne t'embêtes plus ! si possible assez clairement pour une profane en maths !!! merci
                  1. ca il faudrais demander à Darkito.
                2. Même en divisant celui qui a le plus de part paye plus cher que celui qui en a le moins et au total je n'arrive pas à 3000 €
                  1. Je trouve quelquechose de correct:

                    n1: 207.01
                    n2: 57.17
                    n3: 300.16
                    n4: 90.05
                    n5: 90.05
                    n6: 900.48
                    n7: 290.48
                    n8: 60.03
                    n9: 104.10
                    n10: 900.48

                    le total fait 3000.01
                3. Si c'est cela celui qui a le plus de part : exemple
                  0.36 x 315 parts = 113.40 €
                  va payer plus cher que celui qui a moins de parts :
                  0.36 x 87 parts = 31.32 €
                  ??????
                  en plus à la finale au vu des sommes je ne suis pas sûre d'arriver à 3000 €
                  1. j'ai fait donc le calcul sur la barre de google tel que :
                    3 000 / ((1 / 87) + (1 / 315) + (1 / 60) + (1 / 200) + (1 / 200) + (1 / 20) + (1 / 62) + (1 / 300) + (1 / 173) + (1 / 20))= (0,36 secondes
                    Donc si si j'ai bien compris on multiplie 0.36 avec le nombre de part soit :
                    0.36 x 87
                    0.36 x 315
                    etc ....
                    ?????
                    1. Darkito a posté que k=18 009.5557 Sinon c'est ca.
                    2. @iron21Heu non excuse j'avais mal lu ton post, tu doit DIVISER et non multiplier. Désolé
                  2. va sur la page de google et tape le calcul que tu souhaites comme si tu faisais une recherche. Il te calculera ce que tu lui demandes. C'est ce que j'ai fait, je n'ai pas de calculatrice avec moi.
                    1. Je ne voudrais pas abuser de ta gentillesse mais je veux bien quand même car j'ai regardé sur ma calculatrice qui est très basique (+ - x = % +/- et racine carrée) je ne vois pas du tout comment faire 1/87 + 1/300 etc. En tout cas merci beaucoup d'avoir répondu toute la jounée à mes questions.
                      1. non, tu divises 3000 par la somme des inverse de chaque part

                        3 000 / ((1 / 87) + (1 / 315) + (1 / 60) + (1 / 100) + (1 / 10) + (1 / 62) + (1 / 300) + (1 / 173)) = 18 009.5557

                        (il suffit de taper le calcul dans la barre de recherche google, il le calcule tout seul)
                        1. Tu divises 3000 par le nombre de parts c'est bien cela ?
                          1. non, tu divise 3000 par (1/87 + 1/300...) Si tu veut je le fais quand je suis chez moi avec une vrai calculette vers 5h30.
                        2. je veux bien mais je n'ai pas compris la règle de calcul, pouvez-vous me dire comment faire juste pour le premier, j'appliquerai la règle après sur les 9 autres
                          1. en fait k = 3000 / ( 1/87 + 1/315 + 1/60 + 1/100 + 1/10 + 1/62 + 1/300 + 1/173)

                            une fois que tu a k, tu fais le calcul k / nbre de Parts qui te donne le rix pour chaque personne. ex: k / 87 = prix pour n1.
                        3. Si c'est possible sans vouloir abuser, je préfère avoir une vraie proportionnalité
                          1. En fait j'peut pas le faire la, j'ai pas de calculette (enfin celle de l'ordi est pourrie) et j'suis tres mauvais en calcul mental. Faites le calcul vous.
                        4. Si le prix à payer est inversement proportionnel au nombre de parts détenus, alors il existe un reel k tel que
                          prix = k * 1/nbParts

                          on sait ensuite que la somme totale est égale à 3000, donc somme(k/nbParts) = 3000

                          ce qui fait :
                          k/87 + k/315 + k/60 + k/200 + k/200 + k/20 + k/62 + k/300 + k/173 + k/20 = 3000


                          on peut mettre k en facteur :
                          k*(1/87 + 1/315 + 1/60 + 1/200 + 1/200 + 1/20 + 1/62 + 1/300 + 1/173 + 1/20) = 3000


                          tu trouves facilement k et tu peux alors calculer la part à payer de chacun (prix = k * 1/nbParts)

                          1. J'viens de me rappeler pourquoi j'ai eu 3 toute l'année ^^. Attend 2min que je calcul.
                          2. Message à Darkito
                            merci aussi d'être aussi précis mais notion de maths sont largement dépassées par rapport à une solution telle que
                            prix = k * 1/nbParts) pouvez-vous me l'expliquer si vous avez le temps ou me la détaillée pour une "vieille" qui a oubliée toute notion mathématiques !!! Par avance merci
                        5. Parceque j'me rappel plus de la formule ^^. Tu t'en rappel?? Je ne sais pas si le but était d'avoir une proportionalité, je pense qu'il voulais juste un prix dégressif. Si tu arrive à trouver proportionnalité, n'hésite pas à le poster mais je doute que ce soit applicable à son cas.
                          • 1
                          • 2