Math
В тази секция ще разгледаме относително проста теория по математика, като например какво е просто число, как ефективно да проверяваме дали число е просто, как бързо да намираме простите числа в интервал (решето на Ератостен). Накратко са покриват неща като елементарна комбинаторика, какво са факториел и пермутация, най-малко общо кратно и най-голям общ делител. Ако не сте запознати, добре е да видите как работят двоичните числа и как да ги манипулирате чрез побитови операции. Тук е добре да разгледате как работи модулната аритметика, тъй като тя ще ви трябва за много задачи по-нататък.Малко по-сложна теория включва умножение на матрици, бързо вдигане на степен (на числа и на матрици), деление по модул, функция на Ойлер и други. В секция по-нататък ще разгледаме и малко по-сложна математика, като например комбинаторика и вероятности.
Подходящи теми, които можете да прочетете, са Прости числа и факторизация, Побитови операции, Модулна аритметика, Бързо степенуване, Най-голям общ делител и най-малко общо кратно, Дълги числа,
Повечето задачи в секцията се решават с елементарна математика. Изключение правят Euleonora Pt.1 и Euleonora Pt.2, които изискват да знаете какво е функция на Ойлер. Една от задачите (8-Bit) вече разгледахме в секцията за bruteforce, като тук можете да пробвате да напишете значително по-ефективното (но малко по-сложно) решение, базирано на комбинаторика.
8-Bit
35
|
32
Clock
39
|
61
Euleonora Pt. 1
12
|
12
Euleonora Pt. 2
8
|
44
Fractions
14
|
34
Trololo
15
|
31
Spieshyl
26
|
35
Prime Containers
18
|
35
Seats
15
|
15
Primes Matrix
21
|
27
Time Machine
26
|
35
Bottles
9
|
27
Three Primes
9
|
12