Algorithme de partage / règlement des dépenses entre un groupe

Je suis à la recherche d'un algorithme pour le problème ci-dessous.

Problème: Il y aura un ensemble de personnes qui doivent les uns aux autres un peu d'argent ou aucun. Maintenant, j'ai besoin d'un algorithme (le meilleur et soigné) pour régler des dépenses au sein de ce groupe.

Person AmtSpent
------ ---------
A       400  
B      1000  
C       100  
Total  1500

Maintenant, les dépenses par personne est 1500/3 = 500. Sens B pour donner Un 100. B pour donner C 400. Je sais, je peux commencer avec le moins dépensé montant et le travail de l'avant.

Peut quelqu'un m'indiquer le meilleur si vous l'avez.

Merci d'avance.

Pour résumer,
1. Trouver le total des frais et des dépenses par tête.
2. Trouver le montant de chaque redevable ou en circulation (-ve désigner en circulation).
3. Démarrer avec le moins de +ve montant. L'attribuent à l'-ve montant.
4. Répéter l'étape 3 jusqu'à ce que vous exécutez hors de la ve montant.
s. Passer à la prochaine plus grande +ve nombre. Continuez à répéter 3 & 4 jusqu'à ce qu'il y a +de cinq numéros.

Ou est-il une meilleure façon de faire? Je suis juste curieux. 🙂

source d'informationauteur Guru