Стоит заметить, что в данном цикле встречаются повторения. Выпишу все возможные k:
-25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Заметим, что относительно нуля этот ряд повторяется (за исключением последних цифр, потому что левая граница равна -25, а правая - 21, но нам это никак не помешает).
Я не просто так выделил числа от -21 до 21. Эти числа аннулируются. Это легко понять из формулы. Давайте начнём с k = -1. Неважно, чему равна s. Просто анализируем:
s := s - k = s - (-1) = s + 1
Пропустим итерацию с k = 0, поскольку она ничего не изменит.
Теперь итерация с k = 1:
s := s - k = (s + 1) - k = (s + 1) - (1) = s + 1 - 1 = s
Сразу объясню две вещи, которые Вы, возможно, не поняли:
- Откуда у нас s + 1? Это следует из итерации при k = -1. Из неё мы получили, что s := s + 1. И неважно, чему равно s.
- К чему же я веду? К тому, что числа от -21 до 21 полностью аннулируются. Не верите - проведите подобный эксперимент, начиная с k = -21 до k = 21.
Так как ряд чисел у нас сократился до -25 -24 -23 -22, работать намного легче. Давайте пройдём итерации при k = -25, -24, -23..
Но для начала я Вам кое-что объясню: мы убрали повторяющиеся числа не из начала. То есть цикл мы обрубили до такого:
for k := -25 to -22 do s := s - k
Что это значит? Что s у нас равен нулю, поскольку никаких итераций слева мы не производили. Мы просто убрали одинаковые итерации, которые ничего в результате не изменят. Само решение:
- s := s - k = 0 - (-25) = 25
- s := s - k = 25 - (-24) = 25 + 24 = 49
- s := s - k = 49 - (-23) = 49 + 23 = 72
- s := s - k = 72 - (-22) = 72 + 22 = 94
<h2>Ответ</h2>
94