А71

Задача.

Дано действительное число [latex]a[/latex]. Вычислить [latex]f(a)[/latex], где [latex]f[/latex] — периодическая функция с периодом 1.5, совпадающая на отрезке [latex][0;1.5][/latex] с функцией [latex]x^{3}-2.25x[/latex].

Тесты:

[latex]a[/latex] [latex]f(a)[/latex] Комментарий
2.12 -1.15667 Тест пройден
-8 -1.25 Тест пройден
11.6 -1.114 Тест пройден
3.7 -1.232 Тест пройден

Код:

Решение:

Для положительных мы просто приравниваем [latex]a[/latex] к остатку от деления числа [latex]a[/latex] на период [latex]p=1.5[/latex], таким образом мы сдвигаем [latex]a[/latex], влево на необходимое количество[latex]p[/latex] пока [latex]a[/latex] не попадет в отрезок [latex][0;1.5][/latex]. Если число [latex]a[/latex] принадлежит отрезку [latex][0;1.5][/latex], то по данному алгоритму число [latex]a[/latex] останется неизменным.

Для отрицательных чисел мы действуем проще. К левой границе(взятой по модулю) интервала в котором находится число [latex]a[/latex] мы прибавляем число [latex]a[/latex]. Таким образом мы сдвигаем число а соответствующему значению в интервале [latex][0;1.5][/latex] так, что значение функции при этом не меняется.
Например:
[latex]a=-2[/latex] , следовательно она принадлежит отрезку [latex][-3;-1.5][/latex].
берем левую границу [latex]\left|-3 \right|[/latex] и прибавляем a.
[latex]3-2=1.[/latex] [latex]f(-2)=f(1)[/latex] т.к. функция периодична.

Полученное значение [latex]a[/latex] подставляем в формулу [latex]f(a)=a^{3}-2.25a[/latex] и подсчитываем значение функции.
Ссылка на код

Related Images: