1.老鼠试毒
10 只老鼠(小白鼠),1000 瓶水,其中一瓶有毒药,老鼠喝毒药水 1 个小时死掉。
要求利用 10 只老鼠,在 1 个小时内找出那瓶水有毒。
经典思路:
将 1000 瓶水从 1 至 1000 编号。 将10只老鼠从 1 至 10 编号。
将水瓶的编号转为 2 进制数据,至多有 1000 瓶水,至多需要 10 个位即可。 例如:
之后控制老鼠喝水,将老鼠的编号与水瓶编号二进制位对应。如果某瓶水的编号第一位为 1,则让 1 号老鼠喝水,第二位为 1 则让 2 号老鼠喝水,以此类推。
等 1 个小时后,看死掉的老鼠,将对应的老鼠编号位设置为 1,其他为 0,转成 10 进制, 就是对应水瓶编号。
例如 1,456910 号老鼠死了,那就意味着编号:1100111001,转成 10 进制即可.
2.编程控制工厂内 10 盏灯的开关
要求,使用位运算完成。
可以完成,配置,检测,开,关操作。
3.完成翻转数组
编程实现将数组元素翻转
[1, 2, 3, 4, 5]
得到
[5, 4, 3, 2, 1]
函数原型:
func(a []int) []int
4.统计字符出现的数量
字符串
hello moto hello golang hello hank
得到:
h: 4
e:3
l:8
函数原型:
func(string) map[string]int
5.筛选 4 的幂数
编写程序,判断,某个数是否为 4 的幂数。 4^0 == 1, 1 就算 4 的幂数
4^2 == 16, 16 就算4 的幂数
4^4== 256, 256 就算 4 的幂数
函数原型:
func(int) bool
6.判断一个数是否为质数
质数,只能被 1 和本身整除的数。
函数原型:
func(int) bool
7.得到 N 之内的全部质数
N 不能太小,例如 1000, 10w 等。
函数原型:
func(int) []int
8.搞清楚 1+1=2 是什么意思
哥德巴赫猜想。
有疑问加站长微信联系(非本文作者)