Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Zwróć nieujemny NWD i współczynniki Bézouta dla dwóch liczb całkowitych krótszych niż 101 cyfr dziesiętnych.
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)Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
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.
Sprawdź argumenty ujemne i przypadki zerowe, weryfikując tożsamość całkowitą i odrzucając wartości logiczne.
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)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.
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.
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.
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.
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.
BezoutVale · Zaktualizowano 2026-10-25