Дмитрий Силюк
10/21/2020, 12:00 PM* Для заданного x рассчитать с заданной точностью eps
* sin(x) = x - x^3 / 3! + x^5 / 5! - x^7 / 7! + ...
* Нужную точность считать достигнутой, если очередной член ряда меньше eps по модулю
*/
Вроде бы работает, но в ходе тестов не проходит последний в котором x=100*PI
@Test
@Tag("Normal")
fun sin() {
assertEquals(0.0, sin(0.0, 1e-5), 1e-5)
assertEquals(1.0, sin(PI / 2.0, 1e-5), 1e-5)
assertEquals(0.0, sin(PI, 1e-5), 1e-5)
assertEquals(-1.0, sin(3.0 * PI / 2.0, 1e-5), 1e-5)
assertEquals(0.0, sin(100.0 * PI, 1e-5), 1e-5)
}
При расчетах получаются слишком большие числа в итоге результат выходит NaN.Marat Akhin
10/21/2020, 2:32 PMДмитрий Силюк
10/22/2020, 6:34 AM