Sobes.tech
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.