animal_magic'in cevabı, en küçüğünden en büyüğüne rakamları eklemeniz gerektiği doğrudur, ancak nedenini göstermek için bir örnek vermek istiyorum.
Bize şaşırtıcı bir 3 basamaklı doğruluk veren kayan nokta biçiminde çalıştığımızı varsayalım. Şimdi on numara eklemek istiyoruz:
[1000, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Tabii ki kesin cevap 1009, ama bunu 3 basamaklı biçimde alamıyoruz. 3 haneye yuvarlama, elde ettiğimiz en doğru cevap 1010'dur. En büyüğüne en küçük olanı eklersek, her döngü için:
Loop Index s
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1009 -> 1010
Böylece formatımız için mümkün olan en doğru cevabı alıyoruz. Şimdi en büyüğünden en küçüğüne eklediğimizi varsayalım.
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
Her işlemden sonra kayan nokta sayıları yuvarlandığından, tüm eklemeler yuvarlanır ve hatamız tam olarak 1'den 9'a çıkarılır. Şimdi, eklenecek sayı kümenizin 1000, sonra da yüzlerce veya bir milyona sahip olduğunu hayal edin. Gerçekten doğru olması için, en küçük iki sayıyı toplayacağınızı, ardından sonucu sayı kümenize yerleştirmek istediğinizi unutmayın.