Дубль два - можно использовать Ln и e^x.
Напомню тем, кто не слышал о первой части: Используя только лишь арифметические операции (теперь и вкупе с Ln и Exp) нужно получить Result=1, если поданный на вход A больше поданного на вход B и Result=0 во всех других случаях. Условия использовать нельзя.
Иными словами:
F(A, B) = | 1, A>B
| 0, A<=B
Накатал:
A, B - in
C - out (If A>B, C=1 иначе C=0)
Sqrt(X) = e^(1/2 * Ln(X))
Abs(X) = Sqrt(X^2)
D=A-B
C = (D/Abs(D) +1)/2
На A=7, B=5 пашет, на B=7, A=5 пашет. Но...
Но так, как Ln не может принимать 0 и на 0 делить нельзя, то...
1) Sqrt(X) = e^(1/2 * Ln(X)) Является неправильной, поскольку Sqrt(0) не +INF, а 0.
2) Из-за 1) не пашет Abs(0)
3) Согласно 1) и 2) С=ERROR при A=B.
Что скажете, господа мехматовцы?