猜年龄游戏背后的数学知识是什么?

本文章向大家介绍Python基础实战之猜年龄游戏,主要包括Python基础实战之猜年龄游戏使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Flink认为Batch是Streaming的一个特例,因此Flink底层引擎是一个流式引擎,在上面实现了流处理和批处理。而Window就是从Streaming到Batch的桥梁。通俗讲,Window是用来对一个无限的流设置一个有限的集合,从而在有界的数据集上进行操作的一种机制。流上的集合由Window来划定范围,比如“计算过去10分钟”或者“最后50个元素的和”。Window可以由时间(Time

一个Flink窗口应用的大致骨架结构如下所示:

Flink窗口的骨架结构中有两个必须的两个操作:

使用窗口分配器(WindowAssigner)将数据流中的元素分配到对应的窗口。

《猜姓氏游戏及其数学原理》由会员分享,可在线阅读,更多相关《猜姓氏游戏及其数学原理(6页珍藏版)》请在人人文库网上搜索。

1、猜姓氏游戏及其数学原理在民间流行着一种能够猜出别人年龄和姓氏”的魔术,这是一套七张的卡片,在每张卡片上分别写有 64个数和64个姓氏。第I张卡片1赵3 孙5周7 郑9 冯11蒋13韩15朱17许19吕21孔23 严25金27姜29谢31窦 33潘35 奚37 彭39 马41 方43 任45 柳47 史 49费51雷53倪55 殷57 郝59 于61齐63 顾 65黄67 尹69邵71

8张卡片,就可以编排255个)。从百家姓中选取127个常见的姓氏,分别与127个数 对应就得到下面的“数与姓氏对照表”1赵2钱3孙4李5周6吴7郑8王00

11、谭122牛123尚124瞿125冷126沙127竺准备好以上七张卡片,外加这张数与姓氏对照表”(每个姓氏下边方框中的数,是为了说明问题而加上去的),就可以来表演这个猜年龄和 姓氏的魔术了。先说猜年龄:这套卡片可以用来猜127岁以内的年龄。表演者一张一张地出示这七 张卡片给某位观众看,只要这位观众一一回答七张卡片上有”、无”自己的年龄,表演者就能 猜”出这位观众的年龄。这种 “猜”年龄的方法很简单,表演者只需将观众回答 “有”的那几张卡 片的左上角的数字加起来,所

12、得的和就是这位观众的年龄。比如,某位观 众对七张卡片的年龄回答如下:i n m w vw无有有有有无无表演者只需将i、m、v三张卡片的左上角的数字 2、4、& 16加起 来,得到的 30 就是这位观众的年龄。读者可以验证, 30 这个数确实只有 卡片n、m、w、v上才有。猜姓氏与猜年龄基本相似,只是表演者将观众回答上面 “有”他姓氏的 那几张卡片的左上角的数字加起来后,还得找出这个和所对应的姓氏。比 如,某位观众对七卡片的姓氏回答如下:无有有无有无表演者只先将n、m、v三张卡片的左上角的数字2、 4、 16 加起来,得到 22,再从 “数与姓氏对照表 ”中得到 22 这个数所对应的姓氏

13、是 “曹”,那么这个观众就一定姓 “曹”了。这个魔术,看起来神乎其神,其实原理并非高深莫测。我们只需有一 点二进制数的知识,就能揭示其中的奥秘。让我们来看卡片的编制方法:第一步,把 1127 这些正整数都转换为二进制数(转换结果参见 “数与姓氏对照表 ”中每个姓氏下边方框里的那些数)。第二步,把二进制数中 20 位(从右至左的第 1 个数位)上是 “1的”所 有数填入卡片i中,把21位(从右至左的第2个数位)上是“ 1的所有数 填入卡片n中,把22位(从右至左的第3个数位)上是“ 1的所有数填入 卡片m中,依次类推。比如,118这个数转换为二进制数是 1110110,它 在第 2(按从右至左的

14、顺序,下同)、第 3、第 5、第 6、第 7 个数位上的 数都是“ 1,我们就把它填入卡片n、m、v、w、w中;它在第 1、第4 个数位上的数都是“0,在卡片i、w中就不填。这样,七张卡片分别对应着二进制数中的 7 个数位。于是,当某位观 众回答表演者哪几张卡片上有无他的年龄时,实际上就等于告诉表演者他的年龄的二进制数哪几位是 “1,”哪几位是 “0。”那么,表演者要做的事情 就是把这个二进制数转换为十进制数。比如,某位观众对七卡片的年龄回答如下:i n m w v有有有无有mVD有无那么,实际上他就已经把自己年龄的二进制数0110111 告诉表演者了。把二进制数 0110111转换为十进制数

的那几张卡片的左上角的数字加起来就行了,即1 + 2+ 4+ 16+ 32= 55。至于卡片中姓氏的编排,不过是根据事先随意编好的 “数与姓氏对照 表”,把每个姓氏写在与它对应的数的位置上而已。最后,顺便指出,表演过程中的 “转换 ”工作,是在对方回答 “有”或无”的同时进行的。我们只需记住第i张有 -+1,第n张有一 + 2,第m 张有一+4,第w张有一 + 8,第v张有一+16,第切张有一 + 32,第V张 有-+ 64,转换是非常方便的。另外,如果你打算自己制作另一套纯姓氏 卡片的话,那么最好把那些填在卡片上的姓氏的次序打乱,使观众不容易 发现填写卡片的 “规律 ”,这样就更能迷惑人。

我要回帖

更多关于 猜年龄的公式原理 的文章

 

随机推荐