【问题标题】:How to implement max condition using only mathematical functions/expression?如何仅使用数学函数/表达式实现最大条件?
【发布时间】:2017-12-03 03:32:11
【问题描述】:

它可以涉及任何编程语言。

以 PHP 为例:

if($x > 2) { $x=2; } 

有什么方法可以不使用条件,而是使用一些数学表达式来达到相同的结果?

【问题讨论】:

  • 定义“数学表达式”。
  • 如果你只是在寻找无分支的解决方案,请检查PHP是否有min()函数:$x = min ($x, 2);

标签: math mathematical-expressions


【解决方案1】:

我找到了答案

$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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多