如何仅使用数学 functions/expression 来实现最大条件?
How to implement max condition using only mathematical functions/expression?
可以是任何编程语言。
例如 PHP:
if($x > 2) { $x=2; }
有没有办法不使用条件,而是使用一些数学表达式来达到相同的结果?
我找到了答案
$maxval = 2;
$x = $maxval - (abs($maxval - $x) + $maxval - $x) / 2;
所以如果 $x > $maxval,这个表达式 (abs($maxval - $x) + $maxval - $x) / 2;变为 0 且 $x 变为等于 $maxval
否则此表达式等于 $maxval - $x,整个等式变为
$x = $x
但最短的解决方案是
$x = min($x, 2);
可以是任何编程语言。
例如 PHP:
if($x > 2) { $x=2; }
有没有办法不使用条件,而是使用一些数学表达式来达到相同的结果?
我找到了答案
$maxval = 2;
$x = $maxval - (abs($maxval - $x) + $maxval - $x) / 2;
所以如果 $x > $maxval,这个表达式 (abs($maxval - $x) + $maxval - $x) / 2;变为 0 且 $x 变为等于 $maxval 否则此表达式等于 $maxval - $x,整个等式变为 $x = $x
但最短的解决方案是
$x = min($x, 2);