1000朵花放在10个桶内,任何数字都可以凑出
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 11:32:33
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支花
收起