条件やループなしでこの問題を解決するのに助けが必要です:
、、およびのgetInRange
3 つの値 (すべて数値であると想定することができます) を取る関数を記述します。が 2 つの境界の間にある場合は、変更せずにそのまま返します。が下限より小さい場合は下限を返し、上限より大きい場合は上限を返します。x
bound1
bound2
bound1
bound2
x
x
x
例えば:
getInRange(1, 3, 5)
3 を返します (1 は範囲 [3,5] の左側にあるため、下限)getInRange(4, 3, 5)
4 を返します (4 は範囲 [3,5] にあるため、元の値)getInRange(6, 3, 5)
5 を返します (6 は範囲 [3,5] の右側にあるため、上限)getInRange(6, 5, 3)
また、5 を返します (6 は範囲 [3,5] の右側にあるため、上限)