BBezoutVale
Espacio de programación con IA

Coeficientes enteros de Bézout

Devuelve el máximo común divisor no negativo y coeficientes de Bézout de dos enteros de menos de 101 cifras decimales.

● ● ●BezoutVale●
Flujos de trabajo · Coeficientes enteros de Bézout ×
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
✳Devuelve el máximo común divisor no negativo y coeficientes de Bézout de dos enteros de menos de 101 cifras decimales.
✓ CambiosRevisa antes de aplicar ↗
Vista ilustrativa
01

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.

02

Modelos

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.

03

Proyecto

Prueba operandos negativos y ambos casos de cero, verificando la identidad entera y rechazando booleanos.

Flujos de trabajo

Coeficientes enteros de Bézout

Flujos de trabajo ↗
Flujos de trabajo
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
Espacio de programación con IA

Revisa el contrato de retorno con el mismo cuidado que el cálculo

BezoutVale es un software de programación para Windows que permite examinar funciones auxiliares cuyas salidas deben satisfacer un contrato preciso. Abre el proyecto y describe qué espera el código llamador de cada valor devuelto. Pide al modelo que examine esa interfaz antes de proponer una refactorización, especialmente cuando varias salidas puedan parecer plausibles por separado.

Una tarea basada en bezout.py podría centrarse en entradas con signo y en los coeficientes devueltos junto con un divisor común. Aporta un caso con entrada negativa a la conversación e indica la identidad que debe satisfacer el resultado. Después revisa cómo consume la tupla el código llamador, para que un retorno reordenado o una convención de signos cambiada no pasen inadvertidos tras una aritmética aparentemente correcta.

Usa comprobaciones independientes para evaluar la propuesta. Ejecuta las pruebas del proyecto y examina combinaciones de entradas cero, variaciones de signo y rechazo de operandos no admitidos. Mantén las evidencias vinculadas al requisito original. La explicación de un modelo puede orientar la revisión, pero la aplicación necesita resultados que satisfagan tanto la relación matemática como la interfaz que realmente llama.

Elige tu modelo mediante un endpoint compatible con OpenAI o de Anthropic admitido, proporcionando credenciales cuando sean necesarias. Ese servicio puede ofrecer un modelo de IA sin censura, sujeto a las restricciones del proveedor. La compatibilidad con herramientas y la capacidad de contexto dependen del modelo y servidor seleccionados; limita la conversación sobre el código a lo que pueda examinarse con fiabilidad en la sesión.

Preguntas sobre una interfaz aritmética con varios valores

¿Deben dos implementaciones correctas devolver coeficientes idénticos?

No necesariamente. Establece qué propiedades exige la aplicación y si depende de una representación concreta. Una aserción de igualdad sobre la tupla completa puede ser más estricta que el contrato. Revisa el código llamador antes de cambiar la rutina o sus pruebas.

¿Por qué examinar las entradas negativas por separado?

El tratamiento de signos puede conservar un divisor plausible y romper la relación que incluye los coeficientes. Proporciona casos con signo y verifica la relación definitoria de forma independiente. Revisa cualquier normalización en el límite de entrada para que los valores devueltos sigan refiriéndose a los operandos originales.

¿Qué debe ocurrir cuando ambas entradas son cero?

Indica el resultado previsto o la política de rechazo y compáralos con la implementación actual y sus llamadores. No supongas que el razonamiento habitual para entradas positivas resuelve el caso cero. Inclúyelo explícitamente en la revisión para que futuras refactorizaciones conserven el contrato elegido.

¿Puedo solicitar una limpieza sin cambiar las convenciones de retorno?

Sí. Incluye en la solicitud el orden existente de la tupla, los tipos aceptados y las reglas de signo y pide un cambio acotado. Examina las diferencias resultantes para detectar validaciones alteradas o salidas reordenadas y ejecuta comprobaciones del contrato antes de aceptar la limpieza en tu proyecto.

Descargar para Windows ↗

BezoutVale · Actualizado 2026-10-25