Функции
Функции 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).
Затем решите прикреплённые задачи «НОД двух чисел» и «Проверка простого числа» — и отметьте урок пройденным.