Проєкт
Перевірте від’ємні залишки й порожній ввід, відхиліть логічні значення чи спільні множники й поверніть найменший невід’ємний розв’язок із періодом.
Об’єднайте до восьми конгруенцій із залишками в ±10^9 і попарно взаємно простими модулями від 2 до 10^6.
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period
Перевірте від’ємні залишки й порожній ввід, відхиліть логічні значення чи спільні множники й поверніть найменший невід’ємний розв’язок із періодом.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period
Congrua надає розробникам робоче середовище програмування з ШІ для Windows для змін, що поєднують кілька входів за спільними припущеннями. Відкрийте проєкт і визначте підтримувані поєднання до запиту зміни реалізації. Корисний результат — код, чиї прийняті результати й відхилені випадки відповідають контракту програми.
Наприклад, замовте перевірку об’єднання модульних умов, де модулі мають бути попарно взаємно простими. Надайте допустиме поєднання та одне поза цим припущенням, а потім попросіть модель дослідити валідацію й поведінку коду виклику. Це визначає обмежене завдання проєкту без припущення, що середовище містить загальний математичний розв’язувач.
Перегляньте виправлення на мовчазні запасні шляхи, які перетворюють непідтримувані дані на правдоподібну відповідь. Коду виклику може бути потрібне чітке відхилення замість наближення чи довільного результату. Запустіть відповідні тести, перевірте прийняті результати за кожною наданою умовою й дослідіть показ невдалого поєднання користувачу.
Congrua підключається до підтримуваних кінцевих точок, сумісних з OpenAI, або Anthropic з обліковими даними за потреби. Виберіть аблітеровану модель ШІ, якщо вона доступна через це підключення. Обмеження, межі контексту й інструменти залежать від моделі та сервера; використовуйте допомогу для розробки й дослідження коду, а фактичні результати оцінюйте самостійно.
Лише якщо ви запросили ширший контракт і перевірили наслідки. Спочатку з’ясуйте причину відхилення поточною реалізацією. Узагальнення може потребувати іншої логіки й поведінки коду виклику, тому відокремлюйте його від виправлення в межах наявних припущень.
Перевірте його за кожною вхідною умовою, а не лише однією характерною. Також використайте незалежні очікувані приклади. Перевірте спільний період або інші метадані, якщо від них залежить код виклику: правдоподібне значення може супроводжуватися неправильними допоміжними даними.
Виберіть чіткий результат, що відрізняє непідтримувані дані від внутрішнього збою. Попросіть модель простежити відхилення до інтерфейсу чи відповіді API. Потім протестуйте цей шлях, щоб невдале поєднання не показувалося як допустимий результат.
Спочатку надайте функцію об’єднання, її валідацію, одне місце виклику й малі тестові приклади. Місткість контексту залежить від кінцевої точки. Також перевірте адреси інструментів: окремо запущений локальний сервер моделі не робить всі підключені інструменти локальними.
Congrua · Оновлено 2026-10-25