Гамаюн
21:03 16-01-2004 Задача
Дано: число х, могущее принимать любое рациональное значение; функция у=ф(х), такая, что при х<1 выдает 0, при х>2 выдает 2, иначе выдает 1.
Задание: получить функцию (т.е. написать формулу).

Нет ли у читающих это каких-нибудь идей?
Как мне кажется, не обойтись без округлений, но дальше мысль не идет.

Неужели не обойтись без степеней?
Комментарии:
Емеля
06:54 19-01-2004
Насколько я понял, функция кусочно-линейная. По-моему сие можно задать только системой. Одной форулой не записать.
Вот
Гамаюн
20:05 19-01-2004
Это если не использовать дискретную математику.
Вот, например, если бы условие было не "х>2", а "х>=2", то тогда подошла бы формула "округлить (|х|-|х-1|)", соответствующим образом растянутая и сдвинутая.

Вообще, даже не обязательно соответствовать всем правилам алгебры.
Например, Галя придумала вариант, в котором используется деление на х и вычитание корня из х. Очевидно, что на некоторых участках возникает неопределенность (деление на ноль и корень из отрицательного числа). Так вот, если вместо неопределенности подставлять ноль (т.е. вместо "у делить на 0" мы ставим "0"), то получается очень даже неплохо.

Собственно, зачем мне это надо - я пытаюсб найти формулу, по которой в Мордхейме вычисляются значение в таблице, по которой определяется, сколько надо выкинуть, чтобы попасть. Х в данном случае - это отношение значения WS защищающегося к WS атакующего.
Та формула, которой мы пользовались раньше, она неправильная (именно из-за "х>2").
Судя по всему, проще просто запомнить три варианта и смотреть, какой из них подходит. Любые формулы, видимо, выходят сложнее.
Гамаюн
00:33 23-02-2004
Хотя, с другой стороны, все эти функции определяются через систему.