Предыдущее решение было основано на формуле суммы арифметической прогрессии. Это эффективно для задач такого типа, но что если диапазон чисел будет значительно больше или условия изменятся?
Решение с использованием цикла предоставляет более универсальный и гибкий подход, который можно адаптировать к различным задачам.
Алгоритм на Python:
def sum_multiples_of_5(start, end):
"""
Считает сумму всех чисел, кратных 5, в диапазоне от start до end.
Args:
start: Начало диапазона.
end: Конец диапазона.
Returns:
Сумма чисел, кратных 5.
"""
sum = 0
for num in range(start, end + 1):
if num % 5 == 0:
sum += num
return sum
# Пример использования
result = sum_multiples_of_5(150, 250)
print(result) # Вывод: 4000
Объяснение кода:
- Функция sum_multiples_of_5:Принимает два аргумента: начало и конец диапазона.
Инициализирует переменную sum для хранения результата. - Цикл for:Перебирает все числа от start до end включительно.
Проверяет, делится ли текущее число num на 5 без остатка.
Если делится, то добавляет его к сумме. - Возвращает результат:После завершения цикла функция возвращает итоговую сумму.
Преимущества решения с помощью цикла:
- Гибкость: Легко адаптировать для других задач, изменяя условия проверки и действия внутри цикла.
- Понятность: Логика решения прозрачна и легко читается.
- Универсальность: Применим для любых диапазонов и условий делимости.
Расширение возможностей:
- Другие условия делимости: Можно легко изменить условие if num % 5 == 0 на любое другое, например, для поиска чисел, кратных 3 или 7.
- Дополнительные операции: Внутри цикла можно выполнять различные операции с числами, например, проверять на четность, находить простые числа и т.д.
- Более сложные диапазоны: Можно использовать более сложные выражения для определения диапазона, например, с шагом, отличным от 1.
Этот подход позволяет решать широкий круг задач, связанных с суммированием чисел, удовлетворяющих определенным условиям.