というわけで、問題。
以下の仕様を満たす関数 f を実装せよ。
ただし、少なくとも x が以下の値の時に f(f(x))-x がゼロになることを確認すること:
- 0, -1, 1
- その処理系で扱える最大の値, 最小の値,
- その処理系で扱える 0 を超える最小の値、0 を超えない最大の値
- その処理系で扱える 1 を超える最小の値, 1 を超えない最小の値
C言語で実装するなら先ほど書いたインチキ臭いバージョンでも OK なんだが、その手が使えない処理系ではどうすればいいかというのがこの問題の趣旨。
tainted? や Array.pack を使わないで ruby で書いたバージョンが一応手元にあり、解けているつもり。
#写真と本文は関係ありません。