труктура:
- Тема
- Задача
- Endpoint
- Уровень
- Усложнение
1. Арифметика и базовая логика#
1. Калькулятор двух чисел#
Тема: арифметика#
Задача: реализовать операции:
- сложение
- вычитание
- умножение
- деление
Endpoint
POST /calc
body:
response:
Уровень: легкий
Усложнение
- обработка деления на ноль
- enum для operation
- Decimal вместо float
⸻
2. Проверка простого числа#
Тема: теория чисел
Задача: определить, простое ли число.
Endpoint
GET /prime/{number}
response:
{
"number": 17,
"is_prime": true
}
Уровень: легкий
Усложнение
- оптимизация до sqrt(n)
- negative case
- benchmark
⸻
- НОД и НОК
Тема: алгоритм Евклида
Endpoint
POST /gcd-lcm
body:
{
"a": 48,
"b": 18
}
response:
{
"gcd": 6,
"lcm": 144
}
Уровень: легкий → средний
⸻
-
Последовательности
-
Fibonacci API
Тема: рекурсия / DP
Endpoint
GET /fibonacci/{n}
response:
{
"n": 10,
"value": 55
}
Уровень: легкий
Усложнение
- memoization
- iterative vs recursive
- performance metrics
⸻
- Arithmetic progression
Тема: арифметическая прогрессия
Найти:
- n-й элемент
- сумму n элементов
Endpoint
POST /progression/arithmetic
⸻
- Geometric progression
Тема: геометрическая прогрессия
Endpoint
POST /progression/geometric
⸻
-
Алгебра
-
Решение квадратного уравнения
Тема: дискриминант
Endpoint:
POST /quadratic
input:
{
"a": 1,
"b": -3,
"c": 2
}
response:
{
"roots": [1, 2]
}
Уровень: средний
Усложнение
- комплексные корни
- validation: a != 0
⸻
- Система линейных уравнений 2x2
Тема: линейная алгебра
Решить:
ax + by = e
cx + dy = f
Endpoint:
POST /linear-system
Уровень: средний
Усложнение
- singular matrix
- determinant = 0
⸻
- Полиномиальный калькулятор
Тема: многочлены
Вход:
{
"coefficients": [1, -2, 1],
"x": 3
}
Результат:
{
"value": 4
}
Endpoint:
POST /polynomial/evaluate
Уровень: средний
⸻
-
Геометрия
-
Площадь фигур
Тема: геометрия
Endpoints:
- /geometry/circle
- /geometry/triangle
- /geometry/rectangle
Уровень: легкий
Усложнение
- strategy pattern
- polymorphism через DTO
⸻
- Расстояние между точками
Тема: аналитическая геометрия
Endpoint:
POST /distance
body:
{
"x1": 1,
"y1": 2,
"x2": 4,
"y2": 6
}
⸻
- Уравнение прямой
Тема: slope-intercept
Вернуть:
y = mx + b
Endpoint:
POST /line-equation
⸻
-
Статистика
-
Mean / Median / Mode
Тема: статистика
Endpoint:
POST /statistics/basic
body:
{
"numbers": [1,2,2,3,10]
}
response:
{
"mean": 3.6,
"median": 2,
"mode": 2
}
Уровень: средний
⸻
- Standard deviation
Тема: дисперсия
Endpoint:
POST /statistics/std
⸻
- Probability API
Тема: вероятность
Примеры:
- вероятность события
- условная вероятность
- пересечение событий
Endpoint:
POST /probability
⸻
-
Теория чисел (сильнее)
-
Prime factorization
Разложение числа на множители.
Endpoint:
GET /factorization/{number}
{
"factors": [2,2,3,7]
}
⸻
- Sieve of Eratosthenes
Найти все простые до n.
Endpoint:
GET /primes/{limit}
⸻
- Modular arithmetic
Тема: остатки
Поддержка:
(a^b) mod m
Endpoint:
POST /modular/power
Полезно для криптографии.
⸻
-
Матричная математика
-
Matrix operations
Поддержка:
- addition
- multiplication
- transpose
Endpoint:
POST /matrix
Уровень: средний → тяжелый
⸻
- Determinant calculator
Endpoint:
POST /matrix/determinant
⸻
- Matrix inverse
Endpoint:
POST /matrix/inverse
Уровень: тяжелый
⸻
-
Численные методы
-
Newton-Raphson
Поиск корня функции.
Endpoint:
POST /newton
input:
{
"equation": "x**2 - 2",
"guess": 1
}
⸻
- Numerical integration
Методы:
- trapezoidal
- Simpson
Endpoint:
POST /integrate
⸻
-
Оптимизация и алгоритмы
-
Path optimization
Найти кратчайший путь.
Алгоритмы:
- BFS
- Dijkstra
Endpoint:
POST /graph/shortest-path
⸻
- Knapsack problem
Рюкзак.
Endpoint:
POST /optimization/knapsack
⸻
-
Финальный уровень
-
Symbolic math mini-engine
Поддержка:
- derivative
- simplify
- solve
Через sympy.
Endpoint:
POST /symbolic
⸻
- Math expression evaluator
Свой безопасный parser.
Endpoint:
POST /evaluate
input:
{
"expression": "(2+3)*sqrt(9)"
}
⸻
- Mini Wolfram API
Один endpoint:
POST /math
Поддержка:
{
"type": "quadratic"
}
или
{
"type": "matrix_inverse"
}
Dispatcher pattern.
Уровень: тяжелый
⸻
Рекомендуемый порядок
1 → 4 → 2 → 3 → 5 → 6 → 7 → 10 → 11 → 13 → 16 → 17 → 19 → 20 → 21 → 22 → 23 → 26 → 28
Так ты постепенно пройдешь:
- DTO
- validation
- services
- dependency injection
- error handling
- architecture
- performance
- testing
- математические алгоритмы
- parser design
- clean architecture в Litestar.