BBezoutVale
Środowisko programowania z AI

Całkowite współczynniki Bézouta

Zwróć nieujemny NWD i współczynniki Bézouta dla dwóch liczb całkowitych krótszych niż 101 cyfr dziesiętnych.

● ● ●BezoutVale●
Sposoby pracy · Całkowite współczynniki Bézouta ×
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
✳Zwróć nieujemny NWD i współczynniki Bézouta dla dwóch liczb całkowitych krótszych niż 101 cyfr dziesiętnych.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
01

Sprawdź przed zastosowaniem

Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

02

Modele

Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.

03

Projekt

Sprawdź argumenty ujemne i przypadki zerowe, weryfikując tożsamość całkowitą i odrzucając wartości logiczne.

Sposoby pracy

Całkowite współczynniki Bézouta

Sposoby pracy ↗
Sposoby pracy
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
Środowisko programowania z AI

Oceń kontrakt wyniku równie uważnie jak obliczenie

BezoutVale to oprogramowanie programistyczne dla Windows do badania funkcji pomocniczych, których wyniki muszą spełniać precyzyjny kontrakt. Otwórz projekt i opisz oczekiwania kodu wywołującego wobec każdej zwracanej wartości. Poproś model o sprawdzenie tego interfejsu przed propozycją refaktoryzacji, szczególnie gdy kilka wyników może osobno wyglądać wiarygodnie.

Zadanie oparte na bezout.py może dotyczyć danych ze znakiem i współczynników zwracanych wraz ze wspólnym dzielnikiem. Przedstaw w rozmowie przypadek z ujemnym wejściem i podaj tożsamość, którą musi spełniać wynik. Następnie sprawdź, jak kod wywołujący korzysta z krotki, aby zmiana kolejności wyniku lub konwencji znaków nie umknęła za poprawnie wyglądającą arytmetyką.

Użyj niezależnych kontroli do oceny propozycji. Uruchom testy projektu i sprawdź kombinacje zerowych wejść, różne znaki i odrzucanie nieobsługiwanych operandów. Powiąż dowody z pierwotnym wymaganiem. Wyjaśnienie modelu może prowadzić przegląd, ale aplikacja potrzebuje wyników spełniających zarówno relację matematyczną, jak i interfejs, który faktycznie wywołuje.

Wybierz model przez obsługiwany punkt końcowy zgodny z OpenAI lub punkt końcowy Anthropic, podając wymagane dane uwierzytelniające. Usługa może udostępniać model AI bez cenzury, podlegający ograniczeniom dostawcy. Obsługa narzędzi i pojemność kontekstu zależą od wybranego modelu i serwera; ogranicz rozmowę o kodzie do tego, co można wiarygodnie zbadać w sesji.

Pytania o interfejs arytmetyczny zwracający wiele wartości

Czy dwie poprawne implementacje muszą zwracać identyczne współczynniki?

Niekoniecznie. Ustal właściwości wymagane przez aplikację i to, czy polega na konkretnej reprezentacji. Asercja równości całej krotki może być surowsza niż kontrakt. Sprawdź kod wywołujący przed zmianą procedury lub jej testów.

Dlaczego osobno sprawdzać ujemne dane wejściowe?

Obsługa znaków może zachować wiarygodny dzielnik, ale złamać relację obejmującą współczynniki. Podaj przypadki ze znakami i niezależnie zweryfikuj relację definiującą. Sprawdź normalizację na granicy wejścia, aby zwracane wartości nadal odnosiły się do oryginalnych operandów.

Co powinno się stać, gdy oba wejścia są zerowe?

Podaj zamierzony wynik lub politykę odrzucenia i porównaj z obecną implementacją oraz kodem wywołującym. Nie zakładaj, że zwykłe rozumowanie dla dodatnich wejść rozstrzyga przypadek zerowy. Uwzględnij go jawnie w przeglądzie, aby późniejsze refaktoryzacje zachowały wybrany kontrakt.

Czy mogę poprosić o porządkowanie bez zmiany konwencji zwracania?

Tak. Podaj obecną kolejność krotki, akceptowane typy i reguły znaków w prośbie, a następnie poproś o zmianę o ograniczonym zakresie. Sprawdź różnice pod kątem zmienionej walidacji lub kolejności wyjść i uruchom kontrole kontraktu przed przyjęciem porządkowania do projektu.

Pobierz dla Windows ↗

BezoutVale · Zaktualizowano 2026-10-25