U256624 最喜欢推柿子了
题目背景
tsawke 非常喜欢推式子,但是众所周知 tsawke 太弱了,他经常推不出来式子,现在 tsawke 想请你帮他推式子。
因为这道题是 ~~T1~~T2,tsawke 又从来不出毒瘤的题,所以 tsawke 为你准备了一些可能用到的公式。
题目描述
对于给定的 $ n, x $,请你求出下式的值:
$$
\sum_{k = 0}^{n}\cos(kx)
$$
输入格式
第一行两个整数 $ n, x $。
输出格式
一行一个浮点数,表示原式的近似值,误差须在 $ eps = 10^{-5} $ 范围内。
因为 tsawke 懒得在 Luogu 上手写一个实数比较的 SPJ 了,于是直接采用全文比较,所以请让精度更高一点,然后保留**六位小数**输出。
说明/提示
对于本题我们提供以下公式:
$$
e^{ix} = \cos(x) + i\sin(x)
$$
$$
\dfrac{a + bi}{c + di} = \left( \dfrac{ac + bd}{c^2 + d^2} \right) + \left( \dfrac{bc - ad}{c^2 + d^2} \right)
$$
$$
\cos(x - y) = \cos(x)\cos(y) + \sin(x)\sin(y)
$$
$$
\cos(x) - \cos(y) = -2\sin(\dfrac{x + y}{2})\sin(\dfrac{x - y}{2})
$$
对于数列 $ A_n $,若其满足 $ \forall i \in \left[ 1, n - 1 \right], \dfrac{A_{i + 1}}{A_i} = q $,则令 $ S_i = \sum_{j = 1}^{i}A_j $,有 $ S_i = A_1 \times \dfrac{1 - q^i}{1 - q} $。
**注意**:我们对于结果浮点数的判断会引入 $ eps = 10^{-5} $ 的实数比较,为了防止误差在运算过程中建议但不强行规定使用 `__float128`,并使用如 `cosf128` 和 `sinf128` 等函数,否则可能将无法保证正确性。当你计算得出一个 `__float128` 类型的变量 `ans` 时,可以通过如下语句进行输出:
`printf("%.6lf\n", (double)ans);`