見出し画像

数学パズル:2つの式をmax関数で1本にまとめよ

今回は、ちょっとした数学パズルを出題します。
次の 2つの式 を、1つの式 にまとめてみてください。


【問題】

次の2つの式をくっつけて1つの式にしなさい。
対象の式と条件は次のとおりです。

<式>

① $${y = -2x + 10 (0 ≦ x < 5)}$$
② $${y = 5x - 25 (x ≧ 5)}$$

つまり、

  • xが5未満なら①

  • xが5以上なら②

という 区間関数 です。
これを max関数を使って1つの式にまとめる のが今回の問題です。

区間関数のグラフ

<ヒント>

完成形は次の形になります。

$${y = -2x + 10 + [  ?  ]}$$

この [  ?  ] の部分を求めてください。

ただし次の条件があります。
max(0, x−5) を必ず使うこと。

※maxはカッコ内の候補のうち、最も大きい値を返す関数です。

例:
$${max(0,3) = 3}$$
$${max(0,-2) = 0}$$

(下にスクロールすると、正解があります)




















【正解】

$${y = -2x + 10 + 7max(0,x-5)}$$


【解説】

ポイントは max(0,x−5) がスイッチになる ことです。

まずこの関数の動きを見てみます。

x < 5 のとき

$${x−5 < 0}$$ なので $${max(0,x−5) = 0}$$ になります。
すると式は、

$$
\begin{array}{}y &=& -2x + 10 + 7×0 \\ y &=& -2x + 10\end{array}
$$

つまり ①の式そのもの になります。


x ≧ 5 のとき

このとき $${x−5 ≧ 0}$$ なので $${max(0,x−5) = x−5}$$ になります。
式に代入すると

$${y = -2x + 10 + 7(x-5)}$$

これを整理すると

$$
\begin{array}{}y &=& -2x + 10 + 7x - 35 \\ y &=& 5x - 25\end{array}
$$

となり、②の式と一致します。


なぜ「7」をかけるのか

ここが一番のポイントです。
元の2つの式の 傾き を比べてみます。

① $${y = -2x + 10}$$ → 傾きは -2
② $${y = 5x - 25}$$ → 傾きは 5

差は $${5 - (-2) = 7}$$ です。
つまり 傾きの差を max(0,x-5) にかける ことで、

  • x<5では影響なし

  • x≧5で傾きが変化

という仕組みを作っています。


まとめ

区間関数

x<a の式
x≧a の式

は、

$${基準の式 + (傾きの差)max(0,x-a)}$$

という形で 1本の式にまとめることができます。
このテクニックは

  • 数学パズル

  • プログラミング

  • ゲームの数式設計

などでもよく使われる便利な考え方です。

いいなと思ったら応援しよう!