LLexiNest
Сценарии

Сценарии работы с кодом · Перестановка по лексикографическому рангу

03
Вокруг ваших задач

Конкретная отправная точка

Восстановите лексикографическую перестановку размера от нуля до десяти по целому рангу. Проверьте первый и последний ранги и пустую перестановку, отклоняя булевы значения и ранги за пределами факториального числа вариантов.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

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

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Перестановка по лексикографическому рангу

Конкретная отправная точка
from math import factorial
def unrank_permutation(size, rank):
    if type(size) is not int or not 0 <= size <= 10:
        raise ValueError("size 0 through 10")
    if type(rank) is not int or not 0 <= rank < factorial(size):
        raise ValueError("rank outside permutation count")
    available, result = list(range(size)), []
    for remaining in range(size,0,-1):
        index, rank = divmod(rank, factorial(remaining-1))
        result.append(available.pop(index))
    return result

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗