Трикутник Фаульхабера#5127

Трикутник Фаульхабера

1 секунда
32 мегабайти
Легка

Сума -тих степенів перших цілих чисел

може бути виражена як поліном ступеня m+1 від :

Наприклад:

S(n, 1) = (1 + \ldots + n) = \frac{1}{2} \cdot n^2 + \frac{1}{2} \cdot n

S(n, 2) = (1 + \ldots + n^2) = \frac{1}{3} \cdot n^3 + \frac{1}{2} \cdot n^2 + \frac{1}{6} \cdot n

S(n, 3) = (1 + \ldots + n^3) = \frac{1}{4} \cdot n^4 + \frac{1}{2} \cdot n^3 + \frac{1}{4} \cdot n^2

S(n, 4) = (1 + \ldots + n^4) = \frac{1}{5} \cdot n^5 + \frac{1}{2} \cdot n^4 + \frac{1}{3} \cdot n^3 - \frac{1}{30} \cdot n

Коефіцієнти F(m, k) цих формул утворюють Трикутник Фаульхабера:

де рядки починаються з (зверху), а стовпці йдуть від до m+1.

Кожен рядок Трикутника Фаульхабера може бути обчислений з попереднього рядка за допомогою:

a) Елемент у рядку та стовпці (j > 1) дорівнює \frac{i}{j} \cdot (елемент зверху зліва); тобто: F(i, j) = \frac{i}{j} \cdot F(i-1, j-1)

b) Перший елемент у кожному рядку F(i, 1) обирається так, щоб сума елементів у рядку дорівнювала .

Напишіть програму для знаходження елементів у Трикутнику Фаульхабера у вигляді десяткових дробів у нескоротному вигляді.

Вхідні дані

Перша строка вхідних даних містить одне ціле число , (1 \le P \le 1000), яке є кількістю наборів даних, що слідують. Кожен набір даних повинен бути оброблений однаково та незалежно.

Кожен набір даних складається з одного рядка вхідних даних, що складається з трьох розділених пробілами десяткових цілих чисел. Перше число - це номер набору даних. Друге число - номер рядка , а третє число - індекс у рядку, для якого ви повинні знайти F(m, k), елемент Трикутника Фаульхабера (0 \le m \le 400, 1 \le k \le m+1).

Вихідні дані

Для кожного набору даних є один рядок вихідних даних. Він містить номер набору даних, за яким слідує один пробіл, а потім або значення, якщо воно є цілим числом АБО чисельник елемента, коса риска та знаменник елемента.

Приклади

Приклад 1

Loading
Loading