**Великая (Последняя) теорема Ферма:** $a^n + b^n = c^n$ не имеет решений в целых числах для $n > 2$.

**Малая теорема Ферма:** Если $p$ — простое число, то для любого целого $a$: $a^p \equiv a \pmod p$.

Это отличный вопрос. В IT "математика" — понятие растяжимое. Кому-то нужно считать интегралы, а кому-то достаточно понимать, как работает остаток от деления.

Вот "дорожная карта" математических тем, отфильтрованная по реальным задачам, а не университетской программе.

***

### 1. Embedded-разработчик (Rust/C)
Здесь математика очень "железная". Вам нужно понимать, как числа живут в памяти и как физика переходит в цифру.

**Must Have (Обязательно):**
*   **Булева алгебра и Битовая магия:**
    *   Операции `AND`, `OR`, `XOR`, `NOT`, сдвиги (`<<`, `>>`).
    *   Маскирование битов (установка/сброс конкретных флагов в регистрах).
    *   Понимание Little-endian vs Big-endian.
*   **Системы счисления:**
    *   Свободное чтение Hex (0xFF) и Bin (0b1010).
    *   Представление отрицательных чисел (Two's complement).
*   **Арифметика с фиксированной точкой (Fixed-point arithmetic):**
    *   Как считать дробные числа на процессорах без FPU (например, `Q15`, `Q31` форматы).

**Advanced (Для серьезных задач):**
*   **Цифровая обработка сигналов (DSP):**
    *   Преобразование Фурье (FFT) — если работаете со звуком или радио.
    *   Цифровые фильтры (Калмана, PID-регуляторы) — если управляете дронами, моторами или температурой.

***

### 2. ML-инженер (Python — архитектура, Rust — инференс/оптимизация)
Тут математика — это основной рабочий инструмент. Без неё вы просто "импортер библиотек".

**Must Have (Фундамент):**
*   **Линейная алгебра (Царица ML):**
    *   Матричное умножение, векторы, тензоры.
    *   Размерности пространств (понимание, почему `[3, 512] * [512, 10]` работает, а наоборот — нет).
    *   Собственные векторы и значения (Eigenvectors) — для PCA и сжатия данных.
*   **Мат. анализ (Calculus):**
    *   Градиенты и частные производные (суть Backpropagation).
    *   Цепное правило (Chain rule).
    *   Понимание того, что такое локальный минимум и седловая точка.
*   **Теория вероятностей и Статистика:**
    *   Распределения (Нормальное, Бернулли, Пуассона).
    *   Байесовская теорема.
    *   Метрики (Precision, Recall, F1-score, ROC-AUC).

**Rust Specific (Для оптимизации):**
*   **Численные методы:** Как хранить `f32`/`f16` так, чтобы не потерять точность при миллионе сложений (проблемы float point arithmetic).
*   **SIMD-математика:** Параллельные вычисления векторов на CPU.

***

### 3. Backend-разработчик
Здесь математика нужна для оценки нагрузки, защиты данных и правильной работы с деньгами.

**Must Have (Повседневность):**
*   **Асимптотический анализ (Big O):**
    *   Понимать разницу между $O(N)$, $O(N \log N)$ и $O(N^2)$.
    *   Понимать Cost Model (почему чтение из RAM быстрее чтения с SSD в математических порядках).
*   **Дискретная математика (Графы и Множества):**
    *   Теория множеств (Set theory) — это база SQL (`JOIN`, `UNION`, `INTERSECT`).
    *   Деревья (B-Tree, LSM-Tree) — чтобы понимать, как работают индексы в PostgreSQL.
    *   Графы — если пишете социальные сети, карты или системы зависимостей.
*   **Модульная арифметика и Теория чисел:**
    *   То, что мы обсуждали выше (простые числа, остатки от деления).
    *   Основы криптографии (Хэширование, RSA, Эллиптические кривые).

**Ops/Highload:**
*   **Статистика для мониторинга:**
    *   Перцентили (p50, p95, p99) — почему "среднее время ответа" лжет.
    *   Гистограммы распределения запросов.

***

### 4. Frontend (SSR) разработчик
Обычно математики тут меньше всего, если вы не делаете WebGL-игры или сложные дашборды.

**Must Have:**
*   **Базовая геометрия:**
    *   Координаты (x, y), ширины, высоты.
    *   Box Model (сложение отступов).
*   **Пропорции и проценты:**
    *   Aspect Ratio, расчет резиновой верстки (`flex-grow`).

**Advanced (Анимации и Графика):**
*   **Тригонометрия:**
    *   `Sin`, `Cos`, `Atan2` — если нужно вращать элементы или рисовать на `<canvas>`.
*   **Интерполяция:**
    *   Кривые Безье (как работают `ease-in-out` анимации).
    *   Линейная интерполяция (Lerp) для плавных переходов цветов или позиций.
*   **Матрицы трансформаций (CSS transform):**
    *   Понимание, как работает `matrix3d()` для 3D-эффектов в браузере.

### Итог: Что учить в первую очередь?

Учитывая твой профиль (Rust, Backend, Systems):
1.  **Bitwise operations** (для низкоуровневых оптимизаций).
2.  **Big O & Data Structures** (деревья, хэш-мапы — база бэкенда).
3.  **Модульная арифметика** (для понимания криптографии и алгоритмов типа того же Миллера-Рабина).
4.  **Статистика (перцентили)** — чтобы грамотно делать дашборды мониторинга для своих сервисов.