|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 1, 2004 22:00:16 The Svin В формуле должно быть ((abs(x):max(1,abs(x)))-1)*(-1) abs(x) max(1,abs(x)) abs(x)/max(1,abs(x)) \ / \ / \ / \__/ __ __ \/ \/ Если в max вместо единицы подставить бесконечно малое положительное число, то тогда действительно получится решение полностью удовлетворяющее условиям задачи, только малопригодное для вычислений. |
|
|
Дата: Авг 2, 2004 01:57:49 · Поправил: The Svin Непонятно. Зачем нужно два abs(x)? Приведи любое вещественное x при котором моя формула не сработает. Моё решение полностью подходит для вычислений. Непонимаю просто о чём речь. |
|
|
Дата: Авг 2, 2004 02:49:51 Понял ошибку. Действительно годится только для целых. |x| может быть меньше 1. Завтра подумаю как обойти. |
|
|
Дата: Авг 2, 2004 03:07:27 The Svin Непонятно. Зачем нужно два abs(x)? x/max(1,abs(x))
1___
/
0
___/
-1 |
|
|
Дата: Авг 11, 2004 23:53:47 Вобщем нет такого выражения и быть не может. После того как я свёл задачу как (a+b)=1 где 0 <= b <= a это стало очевидно. |
|
|
Дата: Авг 12, 2004 00:16:11 Вобщем нет такого выражения и быть не может. После создания этой темы у меня возникли такие подозрения 8) |
|
|
Дата: Авг 13, 2004 04:10:26 Если была бы операция взятия целой части числа (антье) то можно было бы. Поскольку раскладывается на а+b=1 с a=1 при x=0 и a<1 при x<>0. |
|
|
Дата: Авг 24, 2004 17:29:49 Извиняюсь, что не совсем в тему. Но вот вам извращенский способ сделать это для целых чисел. mov ax, <исходное значение> xor bx,bx dec bx mul ax,bx add ax,dx inc ax Смысл в том, что умножаем на 0FFFFh. Ноль при умножении даст ноль, а любое другое число даст такой результат, что сумма верхнего слова и нижнего слова опять будет равна 0FFFFh. Это тот же прикол, что и с цифрой 9. Умножьте любую цифру (кроме нуля) на девять и сложите старший и младший разряд - получится 9. Это в десятиричной системе. А в 65536-ричной системе ту же роль играет число 65535. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.082 |