Numărul partițiilor întregi
Numără partițiile neordonate ale unui întreg de la zero la 300 în părți pozitive.
def partition_count(number):
if type(number) is not int or not 0 <= number <= 300:
raise ValueError("integer 0 through 300")
ways = [1] + [0]*number
for part in range(1, number+1):
for total in range(part, number+1):
ways[total] += ways[total-part]
return ways[number]Modele
Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
Proiect
Verifică unica partiție goală a lui zero și părți repetate, respingând negative, fracții și valori booleene.
Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
def partition_count(number):
if type(number) is not int or not 0 <= number <= 300:
raise ValueError("integer 0 through 300")
ways = [1] + [0]*number
for part in range(1, number+1):
for total in range(part, number+1):
ways[total] += ways[total-part]
return ways[number]Stabilește ce se numără înainte de a modifica codul
Partenum oferă dezvoltării legate de numărare un spațiu de programare cu IA pentru Windows, în care cerința poate rămâne alături de codul care o implementează. Deschide proiectul și explică ce reprezintă un rezultat, dacă ordinea contează și ce intrări permite apelantul. Cere modelului conectat să citească implementarea ținând cont de aceste definiții înainte de a sugera o simplificare.
Exemplul partițiilor întregi este o modalitate de a concretiza revizuirea. O cerere de numărare a partițiilor neordonate necesită o interpretare diferită de o cerere de enumerare a aranjamentelor ordonate. Discută valoarea inițială și rezultatul pentru intrarea zero ca parte a acestei distincții. Modificarea propusă de asistent trebuie să respecte definiția folosită de aplicație, fără a o înlocui cu o recurență familiară cu altă semnificație.
Verifică exemple mici de referință în propriul mediu, apoi revizuiește limita superioară acceptată și comportamentul pentru intrări nevalide. Rulează testele relevante după inspectarea modificării, inclusiv cazul care reprezintă o partiție vidă. Partenum se conectează la endpointuri acceptate compatibile cu OpenAI sau Anthropic, cu date de autentificare când sunt necesare. Selectează un model fără restricții acolo unde este disponibil și confirmă instrumentele și limitele de context ale serverului. Fluxul de dezvoltare urmărește o modificare explicabilă și verificată, problema ilustrativă de numărare oferind o cerință concretă de examinat.
Întrebări pentru modificarea logicii de numărare
De ce să precizez dacă ordinea contează?
Interpretări diferite pot produce numere valide diferite pentru aceeași intrare. Include un exemplu mic care diferențiază regula dorită, apoi verifică în raport cu el codul propus, astfel încât o înlocuire aparent rezonabilă să nu rezolve altă problemă.
Ce trebuie să stabilească testul pentru intrarea zero?
Trebuie să stabilească cazul de bază ales, inclusiv dacă partiția vidă se numără o dată. Păstrează explicită această așteptare în cazul de test și în documentație, deoarece rezultatele ulterioare pot depinde de ea chiar dacă intrările obișnuite par corecte.
Trebuie să enumăr fiecare obiect pentru a verifica numărul?
Exemplele explicite mici pot ajuta, dar sarcina ilustrată calculează numărul fără a construi fiecare partiție. Folosește cazuri de referință gestionabile și inspectează semnificația implementării. Nu adăuga alocare pentru rezultate doar fiindcă asistentul propune altă metodă de verificare.
Cum trebuie să revizuiesc intervalul acceptat?
Verifică limitele declarate ale intrărilor și modul în care apelantul tratează valorile respinse. Păstrează în teste cazuri negative, fracționare și booleene. Orice extindere dincolo de contractul actual merită o decizie separată privind comportamentul așteptat al aplicației.
Partenum · Actualizat 2026-10-25