Coeficientes binomiales exactos
Calcula coeficientes binomiales exactos para n entero entre cero y 10000 y k entre cero y 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 resultModelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Proyecto
Comprueba extremos, simetría y un resultado grande, rechazando operandos inválidos o booleanos antes del bucle.
Revisa antes de aplicar
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
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 resultMantén los requisitos numéricos vinculados al código
Choosequill ofrece a los desarrolladores un entorno de Windows para analizar código numérico con un modelo de IA manteniendo a la vista el proyecto fuente. Empieza por el requisito que hace útil un resultado: si debe ser exacto, qué entradas se aceptan y cómo debe gestionar un rechazo el código que llama a la función. Estas decisiones dan al asistente un objetivo concreto antes de que proponga una implementación alternativa.
Por ejemplo, la tarea de coeficientes binomiales exige resultados enteros exactos dentro de un intervalo de entrada indicado. Aporta esa función y el código que la llama a la conversación, y pregunta cómo conserva un cambio los casos extremos y el significado de las entradas inválidas. Una fórmula concisa es solo parte de la revisión; el software circundante también debe recibir el resultado en la forma esperada.
Usa valores de referencia y propiedades como la simetría para comprobar la propuesta en tu proyecto. Incluye un resultado grande que revele una conversión accidental a coma flotante, inspecciona el código modificado y ejecuta las pruebas pertinentes. Choosequill puede conectarse a endpoints compatibles con OpenAI o de Anthropic admitidos, con credenciales cuando sean necesarias. Selecciona un modelo sin restricciones donde tu servicio lo ofrezca, teniendo presente que los límites de contexto y las herramientas proceden del modelo y del servidor. Tu contrato numérico sigue siendo el criterio de aceptación del trabajo.
Preguntas de revisión para cálculos exactos
¿Qué debo indicar antes de pedir una reescritura numérica?
Especifica los tipos aceptados, el intervalo válido, los requisitos de exactitud y el comportamiento esperado ante fallos. Incluye el código que consume el resultado. Estos detalles ayudan a distinguir un cambio de software válido de una fórmula matemáticamente plausible con salidas incompatibles.
¿Por qué incluir un resultado de referencia grande?
Los ejemplos pequeños pueden seguir pasando tras una conversión involuntaria a coma flotante. Un entero grande conocido puede revelar ese cambio. Compara el resultado exacto en lugar del texto de visualización formateado y después inspecciona cómo lo almacena o serializa el código consumidor.
¿Deben los valores booleanos contar como enteros?
Explicita esa decisión en el contrato de entrada. El ejemplo existente los rechaza. Revisa cuidadosamente las comprobaciones de tipos propuestas y conserva un caso de prueba específico para que una conversión conveniente del lenguaje no amplíe silenciosamente las entradas aceptadas.
¿Qué aportan las comprobaciones de simetría?
Prueban una relación entre varias entradas y pueden revelar errores más allá de unos pocos valores de referencia. Úsalas junto a respuestas conocidas y pruebas de límites; que una relación se cumpla no demuestra por sí solo que toda la implementación sea correcta.
Choosequill · Actualizado 2026-10-25