LLexiNest
Робоче середовище з ШІ для коду

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

Відновіть лексикографічну перестановку розміру від нуля до десяти за цілим рангом.

● ● ●LexiNest●
Сценарії · Перестановка за лексикографічним рангом ×
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
✳Відновіть лексикографічну перестановку розміру від нуля до десяти за цілим рангом.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
01

Перевірте перед застосуванням

Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

02

Моделі

Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

03

Проєкт

Перевірте перший і останній ранги та порожню перестановку, відхиляючи булеві значення й ранги за межами факторіальної кількості варіантів.

Сценарії

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

Сценарії ↗
Сценарії
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
Робоче середовище з ШІ для коду

Зробіть згенерований порядок відтворюваним у всьому застосунку

LexiNest переносить роботу над упорядкованими результатами в обговорення коду з ШІ у Windows. Відкрийте папку проєкту й поясніть, як порядок вибирається, зберігається та згодом відтворюється. Попросіть модель перевірити код на цих межах, щоб запропонована зміна реалізації зберігала значення ідентифікатора, який застосунок уже використовує.

Для конкретного прикладу попросіть перевірити unrank.py з першим і останнім допустимими рангами для невеликого розміру перестановки. Зазначте, чи починаються ранги з нуля та який порядок передбачає код виклику. Ці деталі перетворюють абстрактне обговорення порядку на перевірювану зміну проєкту з конкретною очікуваною послідовністю для кожного вибраного входу.

Перевірте запропоновану правку і щодо функції, і щодо її споживачів. Власними командами проєкту протестуйте некоректний ранг і нульовий розмір, а також звичайні результати. Якщо після зміни наявний збережений ідентифікатор даватиме інший порядок, розглядайте це як питання сумісності, а не відкидайте як деталь реалізації.

LexiNest використовує підтримуване сумісне з OpenAI або Anthropic підключення до вибраної моделі з обліковими даними за потреби. Ця кінцева точка може пропонувати аблітеровану модель ШІ; фактичні обмеження, доступність інструментів і межі контексту все ще залежать від моделі та сервера. Тримайте відтворювані тестові приклади напоготові незалежно від того, яка модель допомагає перевірці.

Питання про стабільність порядку

Чому нумерацію рангів слід включити до запиту?

Ранг із нуля й ранг з одиниці вибирають різні результати для того самого відображеного числа. Визначте домовленість на вході та в збережених даних. Перевірте перетворення в коді виклику перед зміною функції, що генерує порядок.

Як тестувати останній допустимий порядок?

Використайте невеликий розмір, усі розташування якого можете перевірити незалежно, і надайте очікувану останню послідовність. Додайте наступний недопустимий ранг як випадок відхилення. Це перевіряє межу без використання тієї самої функції для генерації власного очікуваного результату.

Чи може рефакторинг зробити збережені варіанти непридатними?

Так, якщо він змінює домовленість щодо порядку або спосіб нумерації вхідних елементів. Попросіть модель перевірити код збереження та відновлення разом із допоміжною функцією. Порівняйте раніше збережені приклади перед прийняттям зміни, що здається еквівалентною лише для нових результатів.

Що робити, якщо застосунку потрібні повторювані елементи?

Опишіть цю вимогу окремо. Наданий приклад перестановок використовує різні позиції, а повторювані значення можуть створювати інші питання підрахунку й ідентичності. Перевірте подання та очікувані результати перед розширенням функції за межі контракту поточного коду виклику.

Завантажити для Windows ↗

LexiNest · Оновлено 2026-10-25