概述
在看《Java语言程序设计--基础篇》第3章有个有意思的例子,给出5组日期,只要回答你的日期是否在这5组日期即可猜出你的生日是哪天。这5组日期是:
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
2 3 6 7
10 11 14 15
18 19 22 23
26 27 30 31
4 5 6 7
12 13 14 15
20 21 22 23
28 29 30 31
8 9 10 11
12 13 14 15
24 25 26 27
28 29 30 31
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
如果你的生日是28号,那么你的回答应该是:0, 0, 1, 1, 1。这样程序就会猜出你的生日是28号。至于为什么是这样,书上也给出了对应的解释。
首先,这5组日期的第一个数分别是:1、2、4、8、16,它们分别对应的二进制是:1、10、100、1000、10000。而从1到31的十进制数,最多用5个二进制数就可以表示,这也就解释了为什么需要5组日期了。
其次,每组日期的数字也是有限制的,如果你把这些数字都换成二进制,就比较容易看出规律了,为了减少输入这里只列举第2组:
00010 00011 00110 00111
01010
最后
以上就是现实保温杯为你收集整理的java猜测生日游戏_猜生日游戏的全部内容,希望文章能够帮你解决java猜测生日游戏_猜生日游戏所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复