首先呢,让我们来一个牛B函数大回顾。这下我不知道要赚多少的PV。你能否构造一个函数f(x),使得:
它是一个阶梯状的连续函数?
它是除常函数之外的没有最小正周期的周期函数?
该函数只在一点连续?
该函数在[0,1]和(0,1)之间形成一一对应?
该函数某一点导数为正,但该点邻域不构成单增区间?
平面上任意小的圆内均包含函数上的点?
另外还有一些可能是众所周知(所以没在Blog里写过)的函数,比如处处连续但处处不可导的函数、在有理点处处不连续在无理点处处连续的函数等等。
好了,现在呢,又一个牛B东西出现了。你能不能想出这样一个函数f,它的定义域和值域都是R,并且对于任意小的区间l=(u,v),这个函数都能把(u,v)满射到整个R上。换句话说,是否存在这样的函数f(x),对于任意一个实数t以及任意一个区间(u,v),总存在一个x满足u<x<v且f(x)=t。
首先,注意到函数h(x)=tan( pi*(x-1/2) )将(0,1)上的数与全体实数一一对应,因此,我们只需要找出一个g(x),它能把任意小的区间满射到(0,1)区间上,然后在它上面复合一个h(x)就得到我们题目所求的函数了。
我们的g(x)可以这样定义:首先,把x写成三进制数。如果x的三进制表达里没有数字2或者有无穷多个数字2,那么g(x)=0。否则,x的三进制中含有有限多个数字2。找到最末的一个数字2,把它及其前面的部分都去掉,这样剩下的就只有0和1了。在这个01串前面加上一个小数点,把它当作一个二进制小数转换回去,作为g(x)的函数值。这样的话,g(x)就是一个值域为[0,1)的函数,并且在任意小的区间内,我们总能找到一个点,它所对的函数值就是你想要的那个值:只需要取一个该区间内的精度足够高(小数点位数足够多)的三进制有限小数,在后面加一个数字2,再后面的01串就可以想要啥就要啥了。
注意到g(x)把任意小的区间都映射到[0,1)上,而前面提到的h(x)则在(0,1)和R之间建立了一一对应的关系。于是,定义f(x)为,当g(x)=0时f(x)=0,否则f(x)=h( g(x) )。这就是满足题意的函数f。
题目来源:http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/Challenges/October2001.html












update UBUNTU8.10 and 思考
楼上沙发牛
哈哈,这个题目的简化版做过,当时参加的是上海交大的自主招生考试,要求构造一个[0,1]对应(0,1)的函数(还有其他要求忘记了),好像当时我写的是sin(1/x)
唉...板凳没了
还是x*sin(1/x)+x这种形式的最漂亮。
Matrix大牛我想问你一个问题:
R和R X R的基是相等的,也就是说[0,1]区间和(x,y),0<=x<=1,0<=y<=1这个正方形区域上的点是一样多的,那么怎么构造它们之间的一个双射函数,我想了很久都没找到这样一个函数……
如果你知道的话,请指点一下.给我发封邮件吧,先谢过了^-^。
哇,您大牛可以研究一下选择公理了
他不是早研究过了吗……那个囚犯问题……
不少是数分作业题。。。
回复zmq:
把每个x写成小数0.x1x2...,每个y写成小数0.y1y2...,并让f(x,y)=0.x1y1x2y2...,这就是一个双射。
当然,要限制当可以用比如说0.9999...时不准用1.00000...之类的
路过。
[...] 我一直很喜欢有各种惊异性质的奇怪函数,比如阶梯状的连续函数、只在一点连续的函数、任意小的区间所对应的值域都是整个实数域的函数等等。在这里面,最令人吃惊的是恐怕要数在平面上处处稠密的单值函数(其实前面那个函数显然也有这样的性质)。这样的函数打破了一维和二维之间的界线,启发人们重新思考稠密性的意义。不过,有人提到,这两个函数之所以在平面上稠密,是因为该点集在平行于x轴的直线上是稠密的。我们自然开始设想,有不有可能在平面上找到这样一个点集,它在平面上处处稠密,但在任意一条平行于坐标轴的直线上都无处稠密呢? 这是可以办到的。为了简便起见,我们只考虑平面区域[0,1]×[0,1]上的点集。让我们考虑由所有满足以下条件的点(x,y)所组成的点集:x和y都是有限小数,并且小数位数是相同的。例如,点(0.0516, 0.1025)就属于这个点集,但(0.23, 0.1001)就不属于这个点集,(1/3, π/6)就更不属于该点集了。显然,对于任何一个有限小数x',直线x=x'上都只有有限多个点;类似地,对于任意一个有限小数y',直线y=y'上都只有有限多个点。因此,该点集在所有平行于坐标轴的直线上都无处稠密。有趣的是,该点集在整个平面区域内却处处稠密。在任意小的区间x'-ε≤x≤x'+ε,y'-ε≤y≤y'+ε中,总存在一对小数位数相同的x和y。我们只需要写出一个比ε更小的有限小数λ,然后取(x'+λ, y'+λ)(只保留和λ相同的位数),则该点必然在前面所说的范围内。 [...]