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/2lieu de1 1/2. - C'est le code-golf, la réponse la plus courte (en octets) l'emporte.
atan(0)terme est inutile.