Junior — Middle
Kuidas efektiivselt arvutada arvude summa vahemikus 1 kuni 1 000 000?
sobes.tech AI
Vastus AI-lt
Efektiivs arvutamaks summa numbritest 1 kuni 1 000 000, on parem kasutada aritmeetilise progressiooni valemit, mitte summeerida numbreid tsüklis. Valem:
[ S = \frac{n \times (n + 1)}{2} ]
kus n = 1 000 000.
Näide Kotlinis:
val n = 1_000_000L
val sum = n * (n + 1) / 2
println("Summa 1 kuni $n on $sum")
See lähenemine töötab konstantsel ajal ega nõua palju ressursse.