§. ПМ Сумма элементов по условию
Какому условию удовлетворяют элементы массива, значения которых суммируются с помощью следующего фрагмента программы?
s := 0;
for i := 1 to N do
if (A[i] mod 2 = 0) and (A[i] mod 10 = 4) then s := s + A[i];
writeln('s=', s)
Решение
Сначала s := , потому что ни один элемент ещё не прибавлен. Первое сравнение A[i] mod = требует, чтобы элемент был чётным. Второе сравнение A[i] mod = требует остатка при делении на ; для неотрицательного целого числа это означает, что его последняя цифра — . Связка and требует одновременного выполнения обоих сравнений. Все неотрицательные числа, оканчивающиеся на , уже чётные, поэтому первое сравнение здесь дополнительно подтверждает свойство. Например, и прибавятся, а , и — нет. При A = (, , , ) сумма меняется так: , , + = , , + = . После просмотра всех элементов s — сумма чисел, удовлетворяющих условию.
Ответ
Суммируются чётные элементы, дающие остаток при делении на ; среди неотрицательных чисел это элементы, оканчивающиеся цифрой .