sfondo
Si può dimostrare che per ogni intero k >= 0, f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))è un numero razionale.
Obbiettivo
Scrivere un programma o una funzione completi che, se forniti k >= 0, vengono visualizzati f(k)come un'unica frazione ridotta (il numeratore e il denominatore sono coprimi).
Casi test
I primi valori sono
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)
Regole
- Sono vietate le scappatoie standard .
- L'input e l'output possono essere in qualsiasi formato conveniente. Puoi generare
f(k)come stringanumerator/denominator, come una tupla di due numeri interi, una frazione o un oggetto razionale, ecc. Se produci una stringa, dai solo due numeri interi, ovvero output3/2invece di1 1/2. - Questo è code-golf, vince la risposta più breve (in byte).
atan(0)termine non è necessario.