Step 10 (S-14663)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/3364/step/10


Рассмотрим пример еще одной задачи. Нам нужно посчитать сумму всех целых чисел интервале от а до b.

S-14663-1.png

Например, если мы хотим посчитать сумму чисел на интервале от 3 до 7. то ответом будет сумма 3 + 4 + 5 + 6 + 7 = 25. В нашей задаче числа а и b будут задаваться пользователем. Как можно было бы подойти к решению такой задачи? По существу нам нужно найти результат следующего выражения :

а + (а + 1) + (а + 2) + (а + 3) + .... +  b

Но, к сожалению, в программе мы не можем написать таким образом. Интерпретатор не поймет многоточие (не ясно, как его интерпретировать). К тому же в общем случае а и b могут быть произвольными и не понятно, сколько слагаемых нужно записать в выражении. Если у нас нет возможности посчитать всю сумму целиком, попробуем посчитать выражение по действиям. Заведем переменную, в которой будем накапливать сумму по-элементно. Поясним на нашем примере, изначально возьмем число 3. Затем добавим к нему число 4. К результату суммы 3 и 4 добавим 5. Сделаем аналогичные операции для чисел 6 и 7. В общем случае это будет выглядеть следующим образом:

S-14663-2.png

Мы завели переменную s, записали в нее значение 0 (в начальный момент в нее не добавлено ни одного числа). Заведем еще одну переменную i, которая будет принимать все значения от a до b включительно. На каждой итерации цикла мы будем добавлять в переменную s текущее значение переменной i и увеличивать значение i на единицу. Таким образом, к переменной s, изначально равной 0, мы добавим все числа от a до b. Когда работа цикла завершится (значение i, после очередного увеличения, станет больше b), мы выведем значение переменной s на экран.

S-14663-3.png