Math

В тази секция ще разгледаме относително проста теория по математика, като например какво е просто число, как ефективно да проверяваме дали число е просто, как бързо да намираме простите числа в интервал (решето на Ератостен). Накратко са покриват неща като елементарна комбинаторика, какво са факториел и пермутация, най-малко общо кратно и най-голям общ делител. Ако не сте запознати, добре е да видите как работят двоичните числа и как да ги манипулирате чрез побитови операции. Тук е добре да разгледате как работи модулната аритметика, тъй като тя ще ви трябва за много задачи по-нататък.
Малко по-сложна теория включва умножение на матрици, бързо вдигане на степен (на числа и на матрици), деление по модул, функция на Ойлер и други. В секция по-нататък ще разгледаме и малко по-сложна математика, като например комбинаторика и вероятности.

Подходящи теми, които можете да прочетете, са Прости числа и факторизация, Побитови операции, Модулна аритметика, Бързо степенуване, Най-голям общ делител и най-малко общо кратно, Дълги числа,

Повечето задачи в секцията се решават с елементарна математика. Изключение правят Euleonora Pt.1 и Euleonora Pt.2, които изискват да знаете какво е функция на Ойлер. Една от задачите (8-Bit) вече разгледахме в секцията за bruteforce, като тук можете да пробвате да напишете значително по-ефективното (но малко по-сложно) решение, базирано на комбинаторика.
Мрън!