Dokładne współczynniki dwumianowe
Oblicz dokładne współczynniki dwumianowe dla całkowitego n od zera do 10000 i k od zera do n.
def binomial(n, k):
if any(type(v) is not int for v in (n, k)):
raise ValueError("integer.required")
if not 0 <= k <= n <= 10000:
raise ValueError("binomial.range")
k = min(k, n - k)
result = 1
for i in range(1, k + 1):
result = result * (n - k + i) // i
return resultModele
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.
Projekt
Sprawdź krańce, symetrię i duży wynik, odrzucając nieprawidłowe lub logiczne operandy przed pętlą.
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
def binomial(n, k):
if any(type(v) is not int for v in (n, k)):
raise ValueError("integer.required")
if not 0 <= k <= n <= 10000:
raise ValueError("binomial.range")
k = min(k, n - k)
result = 1
for i in range(1, k + 1):
result = result * (n - k + i) // i
return resultZachowaj powiązanie wymagań numerycznych z kodem
Choosequill zapewnia programistom środowisko Windows do omawiania kodu numerycznego z modelem AI przy zachowaniu wglądu w projekt źródłowy. Zacznij od wymagania, które czyni wynik użytecznym: czy musi być dokładny, jakie wejścia są akceptowane i jak kod wywołujący ma obsługiwać odrzucenie. Te decyzje dają asystentowi konkretną podstawę pracy, zanim zaproponuje zastępczą implementację.
Na przykład zadanie dotyczące współczynnika dwumianowego wymaga dokładnych wyników całkowitoliczbowych w określonym zakresie wejścia. Włącz tę funkcję i jej wywołania do rozmowy, następnie zapytaj, jak zmiana zachowuje przypadki krańcowe i znaczenie nieprawidłowego wejścia. Zwięzły wzór to tylko część oceny; otaczające oprogramowanie musi również otrzymać wynik w oczekiwanej postaci.
Użyj wartości referencyjnych i właściwości takich jak symetria do sprawdzenia propozycji we własnym projekcie. Uwzględnij duży wynik ujawniający przypadkową konwersję zmiennoprzecinkową, sprawdź zmieniony kod i uruchom odpowiednie testy. Choosequill może łączyć się z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub Anthropic, z danymi uwierzytelniającymi, gdy są wymagane. Wybierz model bez ograniczeń, jeśli usługa go oferuje, pamiętając, że limity kontekstu i narzędzia zależą od modelu i serwera. Twój kontrakt numeryczny pozostaje standardem akceptacji pracy.
Pytania do przeglądu dokładnych obliczeń
Co określić przed prośbą o przepisanie kodu numerycznego?
Określ akceptowane typy, prawidłowy zakres, wymagania dokładności i oczekiwane zachowanie przy błędzie. Dołącz kod wywołujący, który korzysta z wyniku. Te szczegóły pomagają odróżnić poprawną zmianę oprogramowania od matematycznie wiarygodnego wzoru z niezgodnymi wynikami.
Dlaczego uwzględnić duży wynik referencyjny?
Małe przykłady mogą nadal przechodzić po niezamierzonej konwersji na liczby zmiennoprzecinkowe. Znana duża liczba całkowita może ją ujawnić. Porównaj dokładny wynik zamiast sformatowanego tekstu, następnie sprawdź, jak kod wywołujący go przechowuje lub serializuje.
Czy wartości logiczne powinny liczyć się jako liczby całkowite?
Podejmij tę decyzję jawnie w kontrakcie wejścia. Istniejący przykład je odrzuca. Uważnie sprawdź proponowane kontrole typów i zachowaj osobny przypadek testowy, aby wygodna konwersja języka nie rozszerzyła niejawnie akceptowanych danych.
Co wnoszą kontrole symetrii?
Sprawdzają zależność między wieloma wejściami i mogą ujawnić błędy poza kilkoma wartościami referencyjnymi. Używaj ich wraz ze znanymi odpowiedziami i testami granic; samo zachodzenie zależności nie dowodzi poprawności całej implementacji.
Choosequill · Zaktualizowano 2026-10-25