アルゴリズムを聞いてください! ! 範囲は $start--$end (例: 5--10) です。 変数 $param: を与えます。 $param $param>$end の場合、$param=$end if else、三項アルゴリズム、その他の論理アルゴリズムは必要ありません (シンプルで効率的ですが) この要件を達成するための数学的アルゴリズムを見つける 共有先: -----解決策--------------------------------本当にできるのでしょうか? 答えは「はい」です。そうでなければ彼を固定しなかったでしょう まずはアドバイスから始めましょう function foo($a, $b, $c) { $f1 = -(($c - $a) >> 31); $f2 = -(($b - $c) >> 31); $f3 = 1 ^ ($f1 + $f2); return $f1 * max($a, $c) + $f2 * min($b, $c) + $f3 * $c; } echo foo(5, 10, 3); //5 echo foo(5, 10, 8); //8 echo foo(5, 10, 13); //10 ログイン後にコピー-----解決策--------- function foo($a, $b, $c) { Return (((($c-$a) + (($c-$a) >> 31)) ^ (($c-$a) >> 31)) - ((($c-$b) + (($c-$b) >> 31)) ^ (($c-$b) >> 31)) + $a + $b) / 2; } echo foo(20, 30, 50); // 30 ログイン後にコピー これは関数を使用しません。 私は経典を探しに行き、それを手に入れました、 アルゴリズムを研究する必要があります。 ------解決策--------- 引用: 本当にできるの? 答えは「はい」です。そうでなければ彼を固定しなかったでしょう まずはアイデアをいくつか挙げてみましょう PHP コード function foo($a, $b, $c) { $f1 = -(($c - $a) >> 31); $f2 = -(($b - $c) >> 31); $f3 = 1 ^ ($f1 $f2); return $f1 * max($a, $c) $f2 * min(…… PHP はわかりません...でも、この答えは明白すぎます そこで、int の C バージョンを書きました。 #include int middle(int a,int b,int c) { 長い長い la=a; 長い長い lb=b; 長い長い lc=c;ログイン後にコピー