Сумма чётных до N
Условие
Сумма чётных до N
Сложи все чётные числа от \(1\) до \(n\). Например, для \(n=5\) это \(2+4=6\).
Входные данные
Одно целое число \(n\) (\(1 \le n \le 10^6\)).
Выходные данные
Одно число — сумма чётных от 1 до n.
Пример
Вход:
5
Выход:
6Как решать — идея подхода
Приём: Арифметическая прогрессия (формула вместо цикла)
Ключевое наблюдение: все чётные числа до n выглядят как 2, 4, 6, ..., 2k, где k = n // 2 (столько чётных помещается в диапазон 1..n).
Дальше задача сводится к сумме первых k натуральных чисел. Потому что 2 + 4 + ... + 2k = 2*(1 + 2 + ... + k). А сумма 1 + 2 + ... + k известна: k*(k+1)/2. После умножения на 2 дроби исчезают, получаем очень простую формулу.
План решения:
- Прочитай n.
- Найди
k = n // 2. - Ответ равен
k * (k + 1). - Выведи ответ.
Мини-сниппет формулы:
k = n // 2ans = k * (k + 1)
Почему это лучше цикла: работает за O(1) по времени и O(1) по памяти, не зависит от размера n.
Частая ошибка: пытаться считать ans = (2 + 2k) * k / 2 и получить нецелое из-за /. В Python используй целочисленную формулу k*(k+1) (или // при делении), чтобы не уйти во float.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс