Antecedentes
Se puede demostrar que para cualquier número entero k >= 0
, f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))
es un número racional.
Objetivo
Escriba un programa o función completa que, cuando se proporciona k >= 0
, se genera f(k)
como una fracción reducida única (el numerador y el denominador son coprimos).
Casos de prueba
Los primeros pocos valores son
f(0) = (0,1)
f(1) = (1,1)
f(2) = (-3,1)
f(3) = (0,1)
f(4) = (4,1)
f(5) = (-9,19)
f(6) = (105,73)
Reglas
- Las lagunas estándar están prohibidas.
- La entrada y salida pueden estar en cualquier formato conveniente. Puede generar
f(k)
una cadenanumerator/denominator
, como una tupla de dos enteros, una fracción u objeto racional, etc. Si genera una cadena, dé solo dos enteros, es decir, la salida en3/2
lugar de1 1/2
. - Este es el código de golf, gana la respuesta más corta (en bytes).
atan(0)
término es innecesario.