高新园区多多爱婴幼儿游乐园

破解《 猜年龄》游戏之迷
栏目分类
高新园区多多爱婴幼儿游乐园
图片展示
集团简介
你的位置:高新园区多多爱婴幼儿游乐园 > 集团简介 > 破解《 猜年龄》游戏之迷
破解《 猜年龄》游戏之迷
发布日期:2022-08-17 07:59    点击次数:200
           破解《 猜年龄》游戏之迷

           

一天,几个学生问我:“老师,昨天我们去逛集,看到一老人在摆地摊猜年龄,我们几个都输了钱。你能帮我们解开其中之迷吗?”原来,那老人面前的地摊上摆着6张纸,每张纸上都写着32个数字,只要你说出那几张纸上有你的年龄数,他就能一口说出你的年龄来。他若说对了,你给他1块钱;若是说错了,他就赔你10块钱。

其实,这就是个二进制游戏,耍的是十进制数与二进制数换算的花枪。6张写着数字的纸就是特制的6张表,这6张特制的表能表示出任意一个二进制6位数。最大的二进制6位数是[111111]2=63,所以这6 张纸上按规律列着1~63这63个数字,能猜出不大于63岁的任何一个人的年龄。

设二进制6位数的一般形式为[C5C4C3C2C1C0]2,C0、C1、C2、C3、C4、C5分别表示二进制数0位、1位、2位、3位、4位、5位上的数字。先把1~63这63个十进制数通过换算表示成二进制6位数:

1=[000001]2

2=[000010]2

3=[000011]2

······

62=[111110]2

63=[111111]2

再把0位是1的数按从小到大的顺序列在表一里,1位是1的数也照样列在表二里,同文2位是1的数照样列在表三里,余此类推。得表如下:

    表一(0位是1 数)

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

    表二(1位是1 的数)

2

3

6

7

10

11

14

15

18

19

22

23

26

27

30

31

34

35

38

39

42

43

46

47

50

51

54

55

58

59

62

63

表三(2位是1 的数)

4

5

6

7

12

13

14

15

20

21

22

23

28

29

30

31

36

37

38

39

44

45

46

47

52

53

54

55

60

61

62

63

    表四(3位是1 的数)

8

9

10

11

12

13

14

15

24

25

26

27

28

29

30

31

40

41

42

43

44

45

46

47

56

57

58

59

60

61

62

63

表五(4位是1 的数)

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

    表六(5位是1 的数)

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

二进制数每个数位上的数字要么是0,要么是1,就此两种选择。上述各表都是先确定一个数位上的数字,另五个数位上的数字都有0与1两种选择,所以每张表中都有

2×2×2×2×2=32个数。

游戏原理:对于一个数如果能确定它每个数位上的数字是几,就能确定 这个数是多少。

如:一个数个位上是3,十位上是6,百倍上是9,这个数就是963。十进制数是这样,二进制数也是这样。

猜年龄游戏中,先让人说出那几张表中有他的年龄数,余下各表没有,就是借此确定二进制6位数中各个数位上的数字。那几张表中有他的年龄数,就是说那几个数位 上是1(表一中有,0位是1;表二中有,1位是1;余此类推);余下各表没有,就是说余下各个数位上是0。如此,这个二进制数是多少就确定出来了,再换算成十进制数也很容易。

[C5C4C3C2C1C0]=C5×32+C4×16+C3×8+C2×4+C1×2+C0×1

上式是说二进制数中0位、1位、2位、3位、4位、5位上的1分别表示十进制数1、2、4、8、16、32。

如此,若确定了二进制数那几个数位上的数是1,只要把这几个数位上的1所表示的十进制数相加,得出的和就是这个二进制数换算成的十进制数了。

再看表一至表六左上角的数,正好是1、2、4、8、16、32。所以,只要说出那几张表上有他的年龄数,就把那几张表左上角的数相加,得出的和就是他的年龄。

例如:表二、表三、表五中有甲的年龄,余表没有。甲年龄是多少?

解:把表二、三、五左上角的数2、4、16相加得

2+4+16=22(岁)

所以,甲是22岁。

猜年龄游戏就是先通过表上指证确定年龄的二进制数,再换算成十进制数,这样一个过程。

若要猜出大于63岁的人的年龄,列七张表就行。最大的二进制七位数是

[1111111]2=127所以,列七张表能猜出不大于127岁年龄段内任何一个人的年龄来。