La réponse de animal_magic est correcte: vous devez ajouter les nombres du plus petit au plus grand, mais je veux donner un exemple pour montrer pourquoi.
Supposons que nous travaillons dans un format à virgule flottante qui nous donne une précision stupéfiante de 3 chiffres. Maintenant, nous voulons ajouter dix nombres:
[1000, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Bien sûr, la réponse exacte est 1009, mais nous ne pouvons pas l'obtenir dans notre format à 3 chiffres. Arrondi à 3 chiffres, la réponse la plus précise que nous obtenons est 1010. Si nous ajoutons du plus petit au plus grand, sur chaque boucle, nous obtenons:
Loop Index s
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1009 -> 1010
Nous obtenons donc la réponse la plus précise possible pour notre format. Supposons maintenant que nous ajoutons du plus grand au plus petit.
Loop Index s
1 1000
2 1001 -> 1000
3 1001 -> 1000
4 1001 -> 1000
5 1001 -> 1000
6 1001 -> 1000
7 1001 -> 1000
8 1001 -> 1000
9 1001 -> 1000
10 1001 -> 1000
Étant donné que les nombres à virgule flottante sont arrondis après chaque opération, tous les ajouts sont arrondis, augmentant notre erreur de 1 à 9 par rapport à l'exacte. Imaginez maintenant si votre ensemble de nombres à ajouter avait un 1000, puis cent 1 ou un million. Notez que pour être vraiment précis, vous devez additionner les deux plus petits nombres, puis utiliser le résultat dans votre ensemble de nombres.