Contexte
On peut montrer que pour tout entier k >= 0
, f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))
est un nombre rationnel.
Objectif
Écrivez un programme ou une fonction complète qui, lorsqu'elle est donnée k >= 0
, sort f(k)
en une seule fraction réduite (le numérateur et le dénominateur sont des coprimes).
Cas de test
Les premières valeurs sont
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)
Règles
- Les failles standard sont interdites.
- L'entrée et la sortie peuvent être dans n'importe quel format pratique. Vous pouvez sortir
f(k)
comme une chaînenumerator/denominator
, comme un tuple de deux entiers, une fraction ou d'un objet rationnel, etc. Si vous émettez une chaîne, donnez seulement deux entiers, qui est, sortie au3/2
lieu de1 1/2
. - C'est le code-golf, la réponse la plus courte (en octets) l'emporte.
atan(0)
terme est inutile.