Постановка задачи
Дано действительное число [latex]a[/latex]. Вычислить [latex]f(a)[/latex], если
[latex]f(x) = \begin{cases}0, & x \le 0;\\x^2 — x, & 0 < x \le 1;\\x^2 — \sin(\pi \cdot x^2), & x > 1 \end{cases}[/latex]
Алгоритм решения
Находим промежуток, которому принадлежит [latex]a[/latex]. Если [latex]a \in (-\infty;0][/latex], то [latex]f(a) = 0[/latex], если [latex]a \in (0;1][/latex], то [latex]f(a) = a^2 — a[/latex], в остальных случаях [latex]f(a) = a^2 — \sin(\pi \cdot a ^ 2)[/latex].
График функции:
Тесты
Входные данные | Выходные данные |
0 | 0 |
1 | 0 |
2 | 4 |
Реализация
1 2 3 4 5 6 7 8 |
class Test { static function main() { // Считываем входные данные (действительное число) var a:Float = Std.parseFloat(Sys.stdin().readline()); trace( (a <= 0 ? 0 : a <= 1 ? a * a - 1 : a * a - Math.sin(Math.PI * a * a)) ); } } |
Код решения на Try Haxe !
Денис Швецов недавно публиковал (посмотреть все)
- e-olymp 2164. Шифр Юлия - 01.06.2017
- А137д - 01.06.2017
- Ю 4.25 - 13.05.2017