Сумма номеров партий в диапазоне · Основы
Задание
На склад пришла выгрузка партий: нужно сложить
все целые номера партий
от границы
НомерОт
до границы
НомерДо
включительно.
Реализуйте это в функции
СуммаНомеровПартий
и сверьте итог со вкладкой
«Результат».
Задачи:
- Упорядочьте границы (меньшая и большая), если они пришли «наоборот».
- Посчитайте сумму всех целых между ними включительно.
- Верните ответ через Возврат и нажмите Проверить.
Пишите во вкладке «Код». Сигнатуру функции не меняйте.
Описание
В редакторе уже есть функция
СуммаНомеровПартий(НомерОт, НомерДо).
Результат задачи — значение
Возврат
этой функции.
-
Порядок параметров не важен: сумма одна и та же при
НомерОт ≤ НомерДои приНомерОт > НомерДо. -
Например, при
0и5: 0 + 1 + 2 + 3 + 4 + 5 = 15. -
При
2и-1: 2 + 1 + 0 + (−1) = 2.
Границы — целые числа от −10⁹ до 10⁹. Диапазон может быть очень большим, поэтому простой перебор в цикле неэффективен: нужна формула суммы арифметической прогрессии.
Подсказка
Сначала найдите меньшую и большую границу
(Если … Тогда … Иначе … КонецЕсли
или
Мин
/
Макс).
Затем верните
(Левая + Правая) * Количество / 2,
где количество чисел в диапазоне =
Правая − Левая + 1.
Параметры
НомерОт
— тип «Число».
НомерДо
— тип «Число».
СуммаНомеровПартий(НомерОт, НомерДо)
— функция, которую нужно дописать.
Примечание
-
Результатом является значение функции
СуммаНомеровПартий. - Сигнатуру функции и имена параметров не переименовывайте.
- Дополнительные проверки типа не требуются — оба параметра всегда числовые.