Descarga la aplicación
Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.
Devuelve todos los convergentes de una fracción continua con uno a 32 coeficientes enteros de magnitud máxima 1000. Prueba un primer término negativo y 3-7-16, rechazando términos posteriores no positivos y manteniendo pares exactos de numerador y denominador.
Selecciona una carpeta y pide al asistente que lea los archivos relevantes antes de editarlos. Mantén el objetivo y los límites de la tarea en la conversación.
Elige un endpoint compatible. Las herramientas disponibles y la calidad de las respuestas dependen del modelo y del servidor configurados.
Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
def convergents(terms):
terms = tuple(terms)
if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
raise ValueError("fraction.terms")
if any(a <= 0 for a in terms[1:]):
raise ValueError("fraction.tail")
p0, p1, q0, q1, out = 0, 1, 1, 0, []
for a in terms:
p, q = a*p1+p0, a*q1+q0
out.append((p, q))
p0, p1, q0, q1 = p1, p, q1, q
return outRevisa antes de aplicar. Revisa las modificaciones y la salida de los comandos. Ejecuta las comprobaciones de tu proyecto antes de aceptar el resultado; el código generado no está probado por defecto.