JustCaptain kod-buduschego
a5118039082da497bc3866bd638429985886fdcd
Перейти к файлу
Код
TASKS.md

труктура:

  • Тема
  • Задача
  • Endpoint
  • Уровень
  • Усложнение

1. Арифметика и базовая логика#

1. Калькулятор двух чисел#

Тема: арифметика#

Задача: реализовать операции:

  • сложение
  • вычитание
  • умножение
  • деление

Endpoint
POST /calc

body:

{
  "a": 10,
  "b": 5,
  "operation": "divide"
}

response:

{
  "result": 2
}

Уровень: легкий

Усложнение

  • обработка деления на ноль
  • enum для operation
  • Decimal вместо float

⸻

2. Проверка простого числа#

Тема: теория чисел

Задача: определить, простое ли число.

Endpoint
GET /prime/{number}

response:

{
"number": 17,
"is_prime": true
}

Уровень: легкий

Усложнение

  • оптимизация до sqrt(n)
  • negative case
  • benchmark

⸻

  1. НОД и НОК

Тема: алгоритм Евклида

Endpoint
POST /gcd-lcm

body:

{
"a": 48,
"b": 18
}

response:

{
"gcd": 6,
"lcm": 144
}

Уровень: легкий → средний

⸻

  1. Последовательности

  2. Fibonacci API

Тема: рекурсия / DP

Endpoint
GET /fibonacci/{n}

response:

{
"n": 10,
"value": 55
}

Уровень: легкий

Усложнение

  • memoization
  • iterative vs recursive
  • performance metrics

⸻

  1. Arithmetic progression

Тема: арифметическая прогрессия

Найти:

  • n-й элемент
  • сумму n элементов

Endpoint
POST /progression/arithmetic

⸻

  1. Geometric progression

Тема: геометрическая прогрессия

Endpoint
POST /progression/geometric

⸻

  1. Алгебра

  2. Решение квадратного уравнения

Тема: дискриминант

Endpoint:
POST /quadratic

input:

{
"a": 1,
"b": -3,
"c": 2
}

response:

{
"roots": [1, 2]
}

Уровень: средний

Усложнение

  • комплексные корни
  • validation: a != 0

⸻

  1. Система линейных уравнений 2x2

Тема: линейная алгебра

Решить:

ax + by = e
cx + dy = f

Endpoint:
POST /linear-system

Уровень: средний

Усложнение

  • singular matrix
  • determinant = 0

⸻

  1. Полиномиальный калькулятор

Тема: многочлены

Вход:

{
"coefficients": [1, -2, 1],
"x": 3
}

Результат:

{
"value": 4
}

Endpoint:
POST /polynomial/evaluate

Уровень: средний

⸻

  1. Геометрия

  2. Площадь фигур

Тема: геометрия

Endpoints:

  • /geometry/circle
  • /geometry/triangle
  • /geometry/rectangle

Уровень: легкий

Усложнение

  • strategy pattern
  • polymorphism через DTO

⸻

  1. Расстояние между точками

Тема: аналитическая геометрия

Endpoint:
POST /distance

body:

{
"x1": 1,
"y1": 2,
"x2": 4,
"y2": 6
}

⸻

  1. Уравнение прямой

Тема: slope-intercept

Вернуть:

y = mx + b

Endpoint:
POST /line-equation

⸻

  1. Статистика

  2. Mean / Median / Mode

Тема: статистика

Endpoint:
POST /statistics/basic

body:

{
"numbers": [1,2,2,3,10]
}

response:

{
"mean": 3.6,
"median": 2,
"mode": 2
}

Уровень: средний

⸻

  1. Standard deviation

Тема: дисперсия

Endpoint:
POST /statistics/std

⸻

  1. Probability API

Тема: вероятность

Примеры:

  • вероятность события
  • условная вероятность
  • пересечение событий

Endpoint:
POST /probability

⸻

  1. Теория чисел (сильнее)

  2. Prime factorization

Разложение числа на множители.

Endpoint:
GET /factorization/{number}

{
"factors": [2,2,3,7]
}

⸻

  1. Sieve of Eratosthenes

Найти все простые до n.

Endpoint:
GET /primes/{limit}

⸻

  1. Modular arithmetic

Тема: остатки

Поддержка:

(a^b) mod m

Endpoint:
POST /modular/power

Полезно для криптографии.

⸻

  1. Матричная математика

  2. Matrix operations

Поддержка:

  • addition
  • multiplication
  • transpose

Endpoint:
POST /matrix

Уровень: средний → тяжелый

⸻

  1. Determinant calculator

Endpoint:
POST /matrix/determinant

⸻

  1. Matrix inverse

Endpoint:
POST /matrix/inverse

Уровень: тяжелый

⸻

  1. Численные методы

  2. Newton-Raphson

Поиск корня функции.

Endpoint:
POST /newton

input:

{
"equation": "x**2 - 2",
"guess": 1
}

⸻

  1. Numerical integration

Методы:

  • trapezoidal
  • Simpson

Endpoint:
POST /integrate

⸻

  1. Оптимизация и алгоритмы

  2. Path optimization

Найти кратчайший путь.

Алгоритмы:

  • BFS
  • Dijkstra

Endpoint:
POST /graph/shortest-path

⸻

  1. Knapsack problem

Рюкзак.

Endpoint:
POST /optimization/knapsack

⸻

  1. Финальный уровень

  2. Symbolic math mini-engine

Поддержка:

  • derivative
  • simplify
  • solve

Через sympy.

Endpoint:
POST /symbolic

⸻

  1. Math expression evaluator

Свой безопасный parser.

Endpoint:
POST /evaluate

input:

{
"expression": "(2+3)*sqrt(9)"
}

⸻

  1. 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.