f(f(x)) = -x
来源:http://www.cnblogs.com/yinyueyouge/archive/2009/05/25/1488921.html
原题说的自变量是一个 32 比特的有符号整数,这里扩展之,对不同的定义值和值域进行讨论。
设计一个函数 f,使得
f(f(x)) = -x
这里 f(x) 的定义值和值域都是集合 A。
(1)
如果 A 是复数集 C,则令 f(x) = i * x 即可,其中 i 是虚数单位,满足 i * i = -1。
(2)
如果 A 是整数集 Z,则令
f(x) = 0, 当 x = 0,
f(x) = 1 + x,当 x > 0 且为奇数,
f(x) = 1 - x,当 x > 0 且为偶数,
f(x) = -1 + x,当 x < 0 且为奇数,
f(x) = -1 - x,当 x < 0 且为偶数,
易知 f(x) 满足要求。
(3)
如果 A 是除 ±1 以外的实数,即 A = (-∞,-1)∪(-1,1)∪(1,+∞),令
f(x) = 0, 当 x = 0,
f(x) = 1 / x,当 x∈(-1,0)∪(0,1),
f(x) = -1 / x,当 x∈(-∞,-1)∪(1,+∞),
则 f(x) 满足要求。
(4)
如果 A 是实数集 R 或有理数集 Q,则又如何?