Kde mám zdokumentovat, zda počítání začíná nulou?
Uveďte to na hranici funkce i v očekávání volajícího. Přidejte příklad, který zvlášť ukazuje vrácený index a zobrazenou pozici. Usnadní to kontrolu převodu bez zavedení další korekce jinde.
Najděte index přeživšího od nuly pro jednoho až 10000 účastníků a krok od jednoho do 1000000.
def josephus_index(count, step):
if type(count) is not int or not 1 <= count <= 10000:
raise ValueError("circle.count")
if type(step) is not int or not 1 <= step <= 1000000:
raise ValueError("circle.step")
survivor = 0
for size in range(2, count + 1):
survivor = (survivor + step) % size
return survivordef josephus_index(count, step):
if type(count) is not int or not 1 <= count <= 10000:
raise ValueError("circle.count")
if type(step) is not int or not 1 <= step <= 1000000:
raise ValueError("circle.step")
survivor = 0
for size in range(2, count + 1):
survivor = (survivor + step) % size
return survivorIndex může být uvnitř funkce správný, a přesto ukazovat na nesprávnou položku, pokud rozhraní označuje pozice jinak. CircleJunco nabízí pracovní prostředí pro programování s AI ve Windows, v němž lze tento nesoulad sledovat napříč soubory projektu. Nejprve uveďte, odkud se počítá a jak se z vrácené pozice stává zobrazené označení nebo vybraný záznam. Před úpravou kterékoli strany požádejte asistenta o kontrolu obou konvencí.
Příklad indexu přeživšího v Josephově problému poskytuje konkrétní vývojový případ. Můžete prověřit omezení vstupního počtu a kroku a potom sledovat vrácený index až ke kódu, který jej používá. Změnu požadujte až po shodě, zda volající očekává index, nebo lidsky čitelnou pozici. Malé ručně ověřitelné případy jsou užitečné, protože ukazují zamýšlené chování bez skrytí konvence za rozsáhlý výstup.
Zvolte abliterovaný model AI, pokud je dostupný přes váš podporovaný koncový bod kompatibilní s OpenAI nebo Anthropic, a podle potřeby doplňte přihlašovací údaje. Model a server určují přístup k nástrojům, kontext a omezení. Prověřte navržené změny převodu či validace a spusťte projektové testy přes volající kód. Lokální model potřebuje samostatný běžící server a další připojené nástroje mohou při práci stále využívat externí služby.
Uveďte to na hranici funkce i v očekávání volajícího. Přidejte příklad, který zvlášť ukazuje vrácený index a zobrazenou pozici. Usnadní to kontrolu převodu bez zavedení další korekce jinde.
Nejprve prověřte všechny volající. Pokud očekávají index, změna pomocné funkce může narušit logiku výběru, i když jedno označení opraví. Požádejte o návrh, který převod umístí na hranici odpovídající kontraktu vaší aplikace.
Zvolte počet a krok, které dokážete ručně sledovat, a uveďte očekávaného přeživšího a jeho zobrazené označení. Zahrňte nejmenší povolený vstup. Tyto příklady odhalují nesoulad konvencí jasněji než velký výsledek bez vysvětlení.
Příklad nedokládá automatickou simulaci. Pracovní prostředí podporuje diskusi a kontrolu vaší implementace. Kód spusťte v prostředí svého projektu a porovnejte výstup s akceptačními případy, které jste pro úlohu stanovili.
CircleJunco · Aktualizováno 2026-10-25