Math
В тази секция ще разгледаме относително проста теория по математика, като например какво е просто число, как ефективно да проверяваме дали число е просто, как бързо да намираме простите числа в интервал (решето на Ератостен). Накратко са покриват неща като елементарна комбинаторика, какво са факториел и пермутация, най-малко общо кратно и най-голям общ делител. Ако не сте запознати, добре е да видите как работят двоичните числа и как да ги манипулирате чрез побитови операции. Тук е добре да разгледате как работи модулната аритметика, тъй като тя ще ви трябва за много задачи по-нататък.Малко по-сложна теория включва умножение на матрици, бързо вдигане на степен (на числа и на матрици), деление по модул, функция на Ойлер и други. В секция по-нататък ще разгледаме и малко по-сложна математика, като например комбинаторика и вероятности.
Подходящи теми, които можете да прочетете, са Прости числа и факторизация, Побитови операции, Модулна аритметика, Бързо степенуване, Най-голям общ делител и най-малко общо кратно, Дълги числа,
Повечето задачи в секцията се решават с елементарна математика. Изключение правят Euleonora Pt.1 и Euleonora Pt.2, които изискват да знаете какво е функция на Ойлер. Една от задачите (8-Bit) вече разгледахме в секцията за bruteforce, като тук можете да пробвате да напишете значително по-ефективното (но малко по-сложно) решение, базирано на комбинаторика.
8-Bit
35
|
37
Clock
36
|
58
Euleonora Pt. 1
9
|
14
Euleonora Pt. 2
7
|
47
Fractions
10
|
63
Trololo
16
|
29
Spieshyl
20
|
32
Prime Containers
13
|
59
Seats
11
|
14
Primes Matrix
15
|
31
Time Machine
20
|
33
Bottles
8
|
27
Three Primes
3
|
14