1000朵花放在10个桶内,任何数字都可以凑出
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 22:49:33
![1000朵花放在10个桶内,任何数字都可以凑出](/uploads/image/z/12489908-68-8.jpg?t=1000%E6%9C%B5%E8%8A%B1%E6%94%BE%E5%9C%A810%E4%B8%AA%E6%A1%B6%E5%86%85%2C%E4%BB%BB%E4%BD%95%E6%95%B0%E5%AD%97%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%87%91%E5%87%BA)
1000朵花放在10个桶内,任何数字都可以凑出
1000朵花放在10个桶内,任何数字都可以凑出
1000朵花放在10个桶内,任何数字都可以凑出
从第1个桶到第10个桶分别放:
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = ⑥十四
2^7 = 128
2^8 = 256
1000 - (1 +2 + 4 + 8 + 16 …… + 256) = 489
对小于等于511的数,化成2进制数的形式,从低位到高位(第1位到第N位,对应1号桶到N号桶)看某位上是否为1.
例如:
511 = (111111111),即取1到9号桶的全部
345 = (101011001),即取1、4、5、7、9号桶的全部
对大于511的数字,必先取10号桶,剩余的仍然按上述办法.
例如
666 = 489 + 177,177 = 10110001,即取10、1、5、6、8号桶的全部.
如上,可凑出1到1000的所有数字.
什么意思。
1,2,4,8,16,32,64,128,256,489
1000以内的任何一个自然数都可以找到一个十位的二进制数与之对应
本题正好给了10个桶,最后一个数如果是512整个的花数量就超过1000了,所以为489
要达到的效果是有人买花,不用再另外数,直接把数好的这10个桶的花挑出若干桶就可以凑出买花人所需要的数量
1-511支花用前9个桶里的就能凑出来,因为前511...
全部展开
1,2,4,8,16,32,64,128,256,489
1000以内的任何一个自然数都可以找到一个十位的二进制数与之对应
本题正好给了10个桶,最后一个数如果是512整个的花数量就超过1000了,所以为489
要达到的效果是有人买花,不用再另外数,直接把数好的这10个桶的花挑出若干桶就可以凑出买花人所需要的数量
1-511支花用前9个桶里的就能凑出来,因为前511个自然数都可以一对一的用二进制中的九位数来表示
比如买390支花,因为390用二进制表示成(110000110)2,根据位值原理,只要拿出256+128+4+2就可以了
也就是拿出第2桶、第4桶、第8桶、第9桶,放一起,数都不用数了,就是要买的390支花
如果超过511支了,可以先把最后一桶装489支的用上,算一下差值,再从前9桶里面来凑
比如买520支花,520-489=31
因为31用二进制可以表示为(11111)2,所以把前5桶花挑出来的数量就是31,再加上第10桶的,就是要买的520支花
收起