Фон
Можна показати , що для будь-якого цілого числа k >= 0
, f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))
є раціональним числом.
Мета
Напишіть повну програму або функцію, яка при наданні k >= 0
виводить f(k)
як єдиний зменшений дріб (чисельник і знаменник є спірними).
Тестові справи
Перші кілька значень є
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)
Правила
- Стандартні лазівки заборонені.
- Введення та вихід можуть бути у будь-якому зручному форматі. Ви можете виводити
f(k)
у вигляді рядкаnumerator/denominator
, як кордону з двох цілих чисел, дробу або раціонального об'єкта і т. Д. Якщо виводите рядок, дайте лише два цілі числа, тобто виведіть3/2
замість1 1/2
. - Це кодовий гольф, найкоротша відповідь (у байтах) виграє.
atan(0)
Термін НЕ є необхідним.