відповідь animal_magic правильна, що вам слід додати числа від найменших до найбільших, проте я хочу навести приклад, щоб показати, чому.
Припустимо, що ми працюємо у форматі з плаваючою комою, який дає нам приголомшливі 3 цифри точності. Тепер ми хочемо додати десять чисел:
[1000, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Звичайно, точна відповідь - 1009, але ми не можемо отримати це у нашому тризначному форматі. Округлення до 3-х цифр, найточніша відповідь, яку ми отримуємо, - це 1010. Якщо додати найменшу до найбільшої, на кожну петлю отримуємо:
Loop Index s
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1009 -> 1010
Таким чином ми отримуємо максимально точну відповідь для нашого формату. Тепер припустимо, що ми додаємо від найбільшого до найменшого.
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
Оскільки номери з плаваючою комою округляються після кожної операції, всі додавання округляються, збільшуючи нашу помилку з 1 до 9 від точної. А тепер уявіть, якби ваш набір чисел додавав 1000, а потім сто 1 або мільйон. Зауважте, що, щоб бути по-справжньому точним, ви хочете підсумувати найменші два числа, а потім вдатися до результату у свій набір чисел.