if文や三項演算子を使わずに書け
http://twitter.com/KOBA789/status/51837062164381697
Q, 入力値a, bをとる。このときaは1か0である(それ以外は考えない)。 aが1ならbの符号を反転させた値を、aが0ならbのそのままの値を表示する。 以上のプログラムをC言語でif文や三項演算子を使わずに書け。
小学生の頃、BASIC で ON GOTO 文使ってたのを思い出して懐かしくなりました。
色んなパラメータの条件を 1,2,3 等の番号にマップするんですよね。
途中式
設題は、(a:1,0) => (-b, b) なので、
- 大小の向きを合わせる
1 - a => -1 0
- 中心を合わせる
0.5 - a => -0.5 0.5
- スケールを合わせる
1 - 2*a => -1 1
- 最後に b をかける
b*(1 - 2*a) => -b b
以上。