Чему научитесь
- Понимать формат олимпиадной задачи и не печатать ничего лишнего
- Читать числа, вычислять ответ и выводить его на Python или C++
- Пользоваться условиями и простыми циклами
- Проверять решение на примере и граничных случаях
Как устроено занятие
Сначала разбор с примерами и короткими проверками понимания — они нужны, чтобы поймать непонятое сразу, а не через три темы.
Дальше 15 задач лестницей: разминка, основа, со звёздочкой. Занятие засчитывается, когда решено 8 — остальные не пропадают и учитываются отдельно.
После занятия — вторая часть, ещё 15 задач на те же приёмы в новых сюжетах.
Сколько это займёт
Примерно час-полтора вместе с задачами. Сроков нет: можно закрыть вкладку и вернуться когда удобно — прогресс сохранится.
Зачем программе точный формат
На олимпиаде решение проверяет программа. Она подставляет скрытые входные данные и сравнивает ваш вывод с правильным.
Поэтому Введите число: и Ответ: печатать нельзя. Пример в условии показывает только формат; пройти один пример ещё не значит решить задачу.
Прочитать, посчитать, вывести
Python
a, b = map(int, input().split())
answer = a + b
print(answer)
C++
#include <bits/stdc++.h>
using namespace std;
int main() {
long long a, b;
cin >> a >> b;
cout << a + b;
}
Что попадёт в ответ
Задача просит вывести одно число. Какой вариант подходит?
Условие
Условие выбирает одну из веток. Проверки объединяют словами «и» и «или».
Python
if n % 2 == 0:
print("YES")
else:
print("NO")
C++
if (n % 2 == 0) {
cout << "YES";
} else {
cout << "NO";
}
Цикл
Цикл повторяет действие. В Python правая граница range не входит; в C++ границы записываются явно.
Python
total = 0
for x in range(1, n + 1):
total += x
print(total)
C++
long long total = 0;
for (long long x = 1; x <= n; ++x) {
total += x;
}
cout << total;
Три частые ошибки
- напечатан поясняющий текст, которого нет в формате вывода;
- перепутаны обычное деление и целое деление;
- цикл заканчивается на единицу раньше или позже.
Перед отправкой подставьте пример вручную и проверьте крайние случаи: ноль, единицу, равные числа и максимальные значения.
Практика: от формулы к циклу
Сначала пять разминочных задач, затем семь основных и три необязательные задачи со звёздочкой. Проверяйте решение на примере до отправки.
Задачи со звёздочкой
Эти три задачи не нужны для зачёта. Они проверяют, получается ли собрать несколько простых приёмов без готового шаблона.
Почему решение не приняли
Ученик должен был вывести площадь и периметр, но написал print("Ответ:", a * b). Назовите две разные причины неверного ответа.