Функции

Функции def, return, декомпозиция; НОД и проверка простоты за корень.

Функция объявляется словом def, результат возвращается через return. Функции позволяют разбить решение на понятные части и переиспользовать код. Ниже — алгоритм Евклида для наибольшего общего делителя. Он вам ещё много раз пригодится (в стандартной библиотеке есть готовый math.gcd, но олимпиадник обязан понимать, как он работает).
Python

НОД: своя функция и math.gcd. Введите: 12 8

Обратите внимание на строку a, b = b, a % b — Python умеет обменивать значения без временной переменной. Функции с результатом True/False удобны для проверок. Проверяя число на простоту, достаточно перебирать делители до корня из n: если у n есть делитель больше корня, то парный ему делитель обязательно меньше корня.
Python

Проверка простоты за корень. Введите: 97

Задание: напишите функцию digit_sum(n), возвращающую сумму цифр числа (цифры снимаются через n % 10 и n //= 10). Затем решите прикреплённые задачи «НОД двух чисел» и «Проверка простого числа» — и отметьте урок пройденным.

Задачи для практики

Доска