Думаю, здесь проблема совсем в другом. Джун-мидл-сеньор - это разделение навыков разработчиков внутри компании. И сравнивать одно и то же звание из двух разных компаний будет просто некорректно. При сравнении нужно учитывать технологический уровень компании. Представьте себе, вы организовали небольшой стартап и по своим финансовым возможностям наняли разработчиков. Вы не можете себе позволить нанимать очень опытных разработчиков, но тем не менее, вам нужна иерархия, чтобы эффективно разделять задачи. Вы же не можете сделать компанию и сказать, что у вас вообще все джуны? Вот и получается, что эти звания нужно рассматривать через призму компании, потому что условный джун в Valve будет в сто раз скилловее лида в стартапе.
Если сформулировать задачу по другому - у вас есть граф, в котором вершины имеют значения от 1 до N, а ребра проходят между вершинами, в сумме дающими квадрат. В общем смысле, вы пытаетесь найти все гамильтоновы пути данного графа (но вы также должны доказать, что для конкретного числа в принципе есть такой путь, потому что это не гарантируется для графа, например для 14 или для 22). Но даже поиск одного гамильтонова пути не эвристическими методами будет занимать много времени, как, например, задача на CodeWars: https://www.codewars.com/kata/5a667236145c462103000091 . На нём, кстати, дается уточнение, что вы не решите эту задачу для чисел больше 50 в лоб. Т.е. вы не сможете алгоритмически найти ВСЕ такие пути в графе. А для маленьких чисел вы можете сделать обход в ширину для каждой вершины.
Думаю, здесь проблема совсем в другом. Джун-мидл-сеньор - это разделение навыков разработчиков внутри компании. И сравнивать одно и то же звание из двух разных компаний будет просто некорректно. При сравнении нужно учитывать технологический уровень компании. Представьте себе, вы организовали небольшой стартап и по своим финансовым возможностям наняли разработчиков. Вы не можете себе позволить нанимать очень опытных разработчиков, но тем не менее, вам нужна иерархия, чтобы эффективно разделять задачи. Вы же не можете сделать компанию и сказать, что у вас вообще все джуны? Вот и получается, что эти звания нужно рассматривать через призму компании, потому что условный джун в Valve будет в сто раз скилловее лида в стартапе.
Если сформулировать задачу по другому - у вас есть граф, в котором вершины имеют значения от 1 до N, а ребра проходят между вершинами, в сумме дающими квадрат. В общем смысле, вы пытаетесь найти все гамильтоновы пути данного графа (но вы также должны доказать, что для конкретного числа в принципе есть такой путь, потому что это не гарантируется для графа, например для 14 или для 22).
Но даже поиск одного гамильтонова пути не эвристическими методами будет занимать много времени, как, например, задача на CodeWars: https://www.codewars.com/kata/5a667236145c462103000091 .
На нём, кстати, дается уточнение, что вы не решите эту задачу для чисел больше 50 в лоб. Т.е. вы не сможете алгоритмически найти ВСЕ такие пути в графе. А для маленьких чисел вы можете сделать обход в ширину для каждой вершины.