Можно ли написать (a * b) + (c * d) таким образом, чтобы не использовать порядок операций? - PullRequest
3 голосов
/ 22 сентября 2010

Хорошо, так что warsow имеет довольно неплохой код hud, за исключением того, что математическая логика немного странная.

Ввод:

a*b + c*d

Интерпретируется как:

((d*c) + b) * a

Как видите, игра выполняет серию операций в обратном порядке, независимо от порядка операций.Скобки не работают в коде HUD.Это должен быть линейный ряд операций, чтобы получить конечный результат.Это возможно?Я понимаю, что было бы лучше внедрить правильную математику в код hud, но это намного интереснее, imo.

1 Ответ

6 голосов
/ 22 сентября 2010
a*b + a/c*d -> ((d*c/a) + b) * a

дано, что нормальная алгебра имеет место

...