证明:对于平面上的任意一个大小为 10 的点集,我们总能在平面上不重叠地放置若干个单位圆,使得它们合起来可以覆盖到所有这 10 个点。
趣题:上哪儿找一个含60度的三角形?
四边形 ABCD 是一个正方形,在 BC 上取一个点 M ,在 CD 上取一个点 N ,使得 BM = CN 。连接 AM 、 AN ,与对角线 BD 分别交于 P 、 Q 两点。求证: BP 、 PQ 、 QD 三条线段一定能组成一个三角形,并且这个三角形的其中一个角等于 60° 。
趣题:不用三角函数求出∠BAC的度数
今天看到了一道很有趣的几何题。如图,四边形 ABCD 中,连接对角线 AC 、 BD ,若 ∠ABD = 40° , ∠ADB = 80° , ∠CBD = 70° , ∠CDB = 50° ,求 ∠BAC 的度数。
这道题看上去似乎非常简单,但稍作尝试你就会发现,仅仅是在这几个角度之间来回倒腾,是没法求出 ∠BAC 的度数的。听说过 Langley 问题(就是那个臭名昭著的 20-80-80 三角形)的人就会知道,这种类型的题目往往会非常非常地复杂。据说这是 1989 – 1990 年加拿大亚伯达省中学数学竞赛中的一道题目,当时只有一个人做对,并且解答过程用到了非常繁琐的三角函数运算。然而,这道题实际上有一个非常漂亮的秒杀方法,完全不需要使用三角函数。你能想到吗?
趣题:如何在数据库中秘密地查询隐私数据
日常生活中经常会出现这样的场景:你想在数据库上查询某个东西,但却不希望留下线索,让别人知道你查询了什么。比方说,投资人可能会在数据库上查询某支股票的信息,但却不希望任何人知道他感兴趣的股票究竟是哪一支。看上去,似乎唯一的办法就是把整个数据库全部拷回家。然而,这些数据往往都拥有非常庞大的体积,全部拷走通常都是很不现实的;另外,考虑到数据内容的隐私性和数据本身的宝贵价值,数据的持有者通常也不允许其他人把整个数据全盘拷走。不过,随着分布式数据库的广泛应用,上面的难题有了一个两全其美的好办法:假设有两个内容完全相同的数据库,投资人可以先在第一个数据库上执行一个不会透露目的的查询,再在另一个数据库上执行另一个不会透露目的的查询,两次查询结合起来便能推出想要的结果。只要没有人刻意去收集并且对比两个数据库的查询记录,那么谁也不会知道投资人真正想要查询的是什么。在这个背景下,我们有了下面这个有趣的问题。
服务器随机产生了一个 {1, 2, …, 100} 的子集 S ,并且同时发送给了 A 和 B 两名前台工作人员。 A 、 B 两名前台都接受其他人的提问,但为了保护数据,两个人都只能用“是”或者“否”来回答问题,并且都不允许同一个人重复提问。你非常关心某个数 n 是否在这个子集里。其实,你本来可以直接问 A 和 B 中的任何一个人“数字 n 是否在集合 S 里”,但是这样一来,对方就知道了你想要查询的是什么。为此,你可以向 A 和 B 各问一个问题(结合两人的回答便能推出集合 S 里是否包含数字 n ),但却不能让 A 和 B 当中的任何一个人知道你查询的是哪个数(我们假设 A 、 B 两人不会串通起来,把他们各自收到的问题联系在一起)。事实上,你需要保证 A 和 B 两人都不能从你的问题中获取到任何信息,也就是说,对于 A 和 B 当中的任何一个人来说,各种问题出现的概率不会随着 n 值的改变而改变。再换句话说,如果 n 的值变了,那么 A 和 B 各自将会听到的问题应该拥有和原来相同的概率分布。
趣题:设计多边形围墙使得对于某一观察点所有的墙都不完全可见
下面是趣题集 Which Way Did the Bicycle Go 中的第 71 个问题。如下图,在这个六边形的围墙中,如果站在图中圆点的位置,那么有两面墙不能被完全看见(其中一面墙完全看不见)。能否设计出一个多边形围墙,使得站在围墙里面的某个地方后,所有的墙都至少有一部分是不可见的?