Coefficienti binomiali esatti
Calcola coefficienti binomiali esatti per n intero da zero a 10000 e k da zero a 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 resultModelli
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Progetto
Verifica estremi, simmetria e un risultato grande, rifiutando operandi non validi o booleani prima del ciclo.
Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
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 resultMantieni i requisiti numerici collegati al codice
Choosequill offre agli sviluppatori un ambiente Windows per discutere codice numerico con un modello di IA mantenendo visibile il progetto sorgente. Parti dai requisiti che rendono utile un risultato: se debba essere esatto, quali input siano accettati e come i chiamanti debbano gestire il rifiuto. Queste decisioni danno all'assistente un riferimento concreto prima che proponga un'implementazione sostitutiva.
Per esempio, l'attività sul coefficiente binomiale richiede risultati interi esatti entro un intervallo di input dichiarato. Porta quella funzione e i suoi chiamanti nella conversazione, poi chiedi come una modifica conservi i casi estremi e il significato degli input non validi. Una formula concisa è solo parte della revisione: anche il software circostante deve ricevere il risultato nella forma che si aspetta.
Usa valori di riferimento e proprietà come la simmetria per verificare la proposta nel tuo progetto. Includi un risultato grande che riveli un'eventuale conversione accidentale in virgola mobile, esamina il codice modificato ed esegui i test pertinenti. Choosequill può collegarsi a endpoint supportati compatibili con OpenAI o Anthropic, con credenziali quando richieste. Seleziona un modello senza restrizioni se il servizio ne offre uno, ricordando che limiti di contesto e strumenti dipendono dal modello e dal server. Il contratto numerico rimane il criterio per accettare il lavoro.
Domande di revisione per calcoli esatti
Cosa devo specificare prima di chiedere una riscrittura numerica?
Specifica tipi accettati, intervallo valido, requisiti di esattezza e comportamento atteso in caso di errore. Includi il chiamante che usa il risultato. Questi dettagli aiutano a distinguere una modifica software valida da una formula matematicamente plausibile con output incompatibili.
Perché includere un risultato di riferimento grande?
Gli esempi piccoli potrebbero passare anche dopo una conversione involontaria in virgola mobile. Un intero grande noto può rivelarla. Confronta il risultato esatto anziché il testo formattato visualizzato, poi esamina come il chiamante lo memorizza o serializza.
I valori booleani dovrebbero contare come interi?
Rendi esplicita questa decisione nel contratto degli input. L'esempio esistente li rifiuta. Esamina attentamente i controlli dei tipi proposti e mantieni un caso di prova dedicato, affinché una conversione comoda a livello di linguaggio non allarghi silenziosamente gli input accettati.
Cosa possono aggiungere i controlli di simmetria?
Verificano una relazione tra più input e possono rivelare errori oltre una manciata di valori di riferimento. Usali insieme a risposte note e test dei limiti: il solo rispetto di una relazione non dimostra la correttezza dell'intera implementazione.
Choosequill · Aggiornato 2026-10-25