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

Підхідні дроби ланцюгового дробу

Поверніть усі підхідні дроби ланцюгового дробу з 1–32 цілих коефіцієнтів із модулем до 1000.

● ● ●ConvergeHazel●
Сценарії · Підхідні дроби ланцюгового дробу ×
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
✳Поверніть усі підхідні дроби ланцюгового дробу з 1–32 цілих коефіцієнтів із модулем до 1000.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
  1. Проєкт

    Перевірте від’ємний перший коефіцієнт і 3-7-16, відхиляючи недодатні подальші коефіцієнти та зберігаючи точні пари чисельника і знаменника.

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

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

  3. Моделі

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

Сценарії

Підхідні дроби ланцюгового дробу

Сценарії ↗
Сценарії
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
Робоче середовище з ШІ для коду

Перевіряйте числовий код, не втрачаючи мети програми

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

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

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

Як зробити числове виправлення придатним до перевірки

Навіщо надавати точні пари замість десяткових прикладів?

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

Чи може модель вирішити, які межі входу прибрати?

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

Чи перевіряти лише останнє наближення?

Ні, якщо код виклику використовує проміжну послідовність. Додайте очікуваний порядок і характерні попередні результати разом з останньою парою. Функція може досягати правдоподібного кінцевого значення, повертаючи неправильні або переставлені проміжні елементи.

Що робити, якщо числове пояснення й тести суперечать одне одному?

Відкладіть рішення про виправлення й простежте малий випадок у коді. Незалежно перевірте очікуване значення та припущення тесту. Ані переконливі міркування, ані наявна перевірка не мають переважати доведену розбіжність без дослідження.

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

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