Условная сумма
Условная сумма — это сумма только тех элементов массива, которые удовлетворяют заданному условию. Чтобы её найти, перебирают элементы, выполняют проверку условия для каждого элемента и добавляют подходящие значения к накопленной сумме.
В начале вычислений переменной суммы присваивают ноль. Затем массив просматривают по одному элементу. Если условие истинно, текущий элемент прибавляют к сумме; если ложно — пропускают. В отличие от обычной суммы элементов массива, здесь учитываются не все элементы.
Здесь \(a_i\) — элемент массива, \(P(a_i)\) — условие для него, а \(S\) — искомая сумма. Если рассматривается только часть массива, условие дополнительно ограничивают границами отрезка; такая задача является частным случаем обработки отрезка массива.
Для массива \([3, -2, 7, 0, 5]\) найдём сумму положительных элементов. Подходят \(3\), \(7\) и \(5\), поэтому \(S = 3 + 7 + 5 = 15\). Числа \(-2\) и \(0\) в сумму не входят.
a = [3, -2, 7, 0, 5] s = 0 for x in a: if x > 0: s += x print(s)
Условная сумма и условный счётчик решают похожие задачи, но результат различается. Счётчик увеличивают на единицу за каждый подходящий элемент, а в условную сумму добавляют значение самого элемента. Для массива \([2, 5]\) счётчик положительных элементов равен \(2\), а их сумма — \(7\).
Какой результат получится для массива \([-4, 6, 1, -2]\), если складывать только чётные элементы?
Главное
- Условная сумма включает только элементы, для которых условие истинно.
- Накопление начинают с нуля и при выполнении условия прибавляют текущий элемент.
- Не путайте сумму подходящих элементов с количеством таких элементов.