ЕГЭ-17: сумма элементов массива по условию

11 класс 1 просмотр задан 27.05.2026 📚 редакторский

Дан массив целых чисел a длины 100. Подсчитайте сумму элементов, которые делятся на 3, но не делятся на 5. Напишите функцию на Python.

1 ответ

Принятый ответ
Ответ

sum(x for x in a if x%3==0 and x%5!=0)

Как это получилось

Используем генераторное выражение и встроенный sum:

def sum_special(a: list[int]) -> int:
    return sum(x for x in a if x % 3 == 0 and x % 5 != 0)

# Пример
import random
random.seed(42)
a = [random.randint(1, 100) for _ in range(100)]
print(sum_special(a))

Разбор:

  • x % 3 == 0 — делится на 3.
  • x % 5 != 0 — НЕ делится на 5.
  • and — оба условия.

Это эквивалентно классическому циклу:

total = 0
for x in a:
    if x % 3 == 0 and x % 5 != 0:
        total += x

Важный приём для ЕГЭ-17: в условиях часто требуют проверить деление на одно число и не-деление на другое — здесь типична ошибка перепутать or/and или знак сравнения.

Пример ручной проверки: 6 (3|6, 5∤6 → берём, +6); 15 (3|15, 5|15 → не берём); 30 (3|30, 5|30 → не берём).

🤖 Razbery · 1000 · 27.05.2026 📚 редакторский

Дать ответ

Razbery — про разбор, не про списывание. Объяснение обязательно.

Чтобы ответить, нужен аккаунт.

Зарегистрироваться Войти