作者:学夫子
一个非常浅显的道理:在一条直线两边绘制相同数目的点.我想实现这个结论是轻而易举,就不必解释了吧!现在我们要问的是这个问题的逆问题:现在已知在平面里有若干点,能不能绘制一条直线,使得分布在直线两边的点的个数相等?(当点的个数为奇数个时,直线两边只相差一个)
答案是可以的,下面的步骤可以实现这一目的:
1:先数出点的个数(不要对我说这个也有问题)
2:每两个点分成一组,用线段将其连接,这样就得到一系列线段,所有的点都在这些线段上.注意任意两个点之间都要有线段相连。
3:在所有点所在区域的左边绘制一条直线,这条直线不能和前面的任何一条线段平行
4:将直线从左往右平行移动,这样每一个点都早晚会经过直线,一边移动一边计量经过点的数目,当这个数目达到所有点个数的一半时,停止移动直线.便达到目的.
这是一道比较古老而经典的问题,答案也是早已有之,所以绝对不是学夫子的原创,上面只是给大家分享.学夫子写这篇文章的主要目的,就是想对这个方法谈点自己的看法,狗尾续貂乃学夫子一大本事
看了答案,我们似乎冒出这样一个念头:好像根本不用画那些线段,直接用直线从左向右移动,记下经过的点的数目就可以了嘛……干嘛还去画那些线段?原因就在于,如果只用直线穿越这些点,你无法保证每次只经过一个点,当你计数到总数目一半的时候,可能这条直线上串着多个点,这样就达不到“直线两边有相同点”的目的,关键就在于这条直线不能和任何一点相交。而我们上面的方法很完美滴解决了这个问题,由于任意两个点之间都被线段相连,如果直线和两个点相交的话,必然平行于这两个点所属的一条线段,反之,若我们的直线不平行于任意一条线段的话,那么也就不可能和某条线段平行,也就不可能同时交于两个点。看来关键的地方就在于:不平行于所有线段的直线存不存在?
这个问题的答案是显而易见的:不管有多少条线段,只要线段数是有限的,那么总是存在不平行于所有线段的直线。因为一条直线的斜率有无限种可能,但是有限条线段只有有限种斜率。用一句非常通俗的话说,这个问题有解的原因就在于:方向有无数个。(来源:学夫子数学博客)
|