from math import gcd
def primitive_triples(limit):
if type(limit) is not int or not 0 <= limit <= 500:
raise ValueError("hypotenuse.limit")
result, m = [], 2
while m * m + 1 <= limit:
for n in range(1, m):
c = m * m + n * n
if c <= limit and (m - n) % 2 and gcd(m, n) == 1:
a, b = sorted((m * m - n * n, 2 * m * n))
result.append((a, b, c))
m += 1
return sorted(result, key=lambda t: (t[2], t[0], t[1]))
✳Wylicz pierwotne całkowite trójkąty prostokątne z przeciwprostokątną do granicy od zera do 500.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
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.
Projekt
Sprawdź pusty wynik i 3-4-5, pomiń wielokrotności i zwróć każdą trójkę raz z uporządkowanymi przyprostokątnymi.
from math import gcd
def primitive_triples(limit):
if type(limit) is not int or not 0 <= limit <= 500:
raise ValueError("hypotenuse.limit")
result, m = [], 2
while m * m + 1 <= limit:
for n in range(1, m):
c = m * m + n * n
if c <= limit and (m - n) % 2 and gcd(m, n) == 1:
a, b = sorted((m * m - n * n, 2 * m * n))
result.append((a, b, c))
m += 1
return sorted(result, key=lambda t: (t[2], t[0], t[1]))
Środowisko programowania z AI
Zmień niewielkie obliczenie w niezawodny komponent projektu
TripleMistral udostępnia środowisko programowania z AI dla Windows do tworzenia małych komponentów obliczeniowych, które muszą pasować do większej aplikacji. Zacznij od oczekiwanego wyniku i granic danych wejściowych, a następnie poproś asystenta o przegląd kodu projektu, który będzie wywoływał komponent. Przydatna rozmowa o kodzie obejmuje strukturę zwracanego wyniku i zachowanie przy błędach, a także obliczenia wytwarzające wartości.
Zadanie oparte na triples.py może dotyczyć ograniczonego wyliczania pierwotnych trójek pitagorejskich. Poproś model o wyjaśnienie związku wybranego limitu i kolejności wyników z kodem wywołującym, a następnie przejrzyj proponowaną poprawkę na kilku przykładach możliwych do ręcznego sprawdzenia. Nie chodzi o zamianę strony głównej w lekcję matematyki, lecz o pokazanie, jak precyzyjne wymaganie staje się komponentem, który można przejrzeć i przetestować.
Uruchom kontrole projektu dla najmniejszych sensownych danych wejściowych oraz przyjmowanej górnej granicy. Zanim użyjesz wyników gdzie indziej, potwierdź zgodność duplikatów i kolejności z kontraktem. TripleMistral może łączyć się z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub Anthropic, także z modelem bez filtrów, jeśli jest oferowany. Dane uwierzytelniające mogą być konieczne, a wybrany model i serwer określają zasady, pojemność kontekstu i narzędzia. Oddziel weryfikację od opisu modelu: przekonujące wyjaśnienie nie dowodzi kompletności wyliczenia.
Pytania przy dodawaniu komponentu obliczeniowego
Co kod wywołujący powinien wiedzieć o kolejności wyników?
Udokumentuj, czy kolejność stanowi część kontraktu, czy jedynie szczegół implementacji. Jeśli odbiorcy wyświetlają lub porównują sekwencję, jawnie przetestuj wymaganą kolejność przed przyjęciem refaktoryzacji zmieniającej sposób gromadzenia wyników.
Jak sprawdzić, czy wyniki się nie powtarzają?
Wybierz małe dane wejściowe, dla których możesz niezależnie wyliczyć oczekiwane wyniki, i porównaj cały wynik. Sprawdź także warunki generowania, ponieważ etap usuwania duplikatów może ukrywać powtarzaną pracę lub błędną regułę leżącą u podstaw.
Czy nieprawidłowe limity powinny zwracać pusty wynik?
Odróżnij prawidłowe dane wejściowe bez wyników od danych spoza obsługiwanego kontraktu. Powiedz asystentowi, które należy odrzucać, a następnie przetestuj reakcję kodu wywołującego, aby błędne parametry nie wyglądały po cichu jak pomyślnie zakończone puste obliczenie.
Czy przykład pokazuje obsługę każdego narzędzia obliczeniowego?
To konkretne zadanie programistyczne, a nie katalog wbudowanych narzędzi. Wprowadź własny projekt i wymagania, przejrzyj propozycję i zastosuj kontrole odpowiednie dla komponentu i środowiska, w którym będzie działał.