
一道排列组合问题!
给你10个2进制位所有情况,在给一个小于10个的2进制位(例子)的情况,问这些情况中包含例子的情况!例子:给出3位的所有情况:000,001,010,011,100,10...
给你10个2进制位所有情况,在给一个小于10个的2进制位(例子)的情况,问这些情况中包含例子的情况!
例子:
给出3位的所有情况:000,001,010,011,100,101,110,111
给出2位:11
包含11的有011,110,111。3种情况!
当n等于10位,求包含100的个数时怎么做!
我思路是:先求7位所有情况2的7次幂,在把100插入,有8处可以插入!于是得:
(2的7次幂)*8,后来发现有重复计算的!
怎么算啊!求高手指教!
答案是232,求高手指教!!!!!!!!!!!!!!! 展开
例子:
给出3位的所有情况:000,001,010,011,100,101,110,111
给出2位:11
包含11的有011,110,111。3种情况!
当n等于10位,求包含100的个数时怎么做!
我思路是:先求7位所有情况2的7次幂,在把100插入,有8处可以插入!于是得:
(2的7次幂)*8,后来发现有重复计算的!
怎么算啊!求高手指教!
答案是232,求高手指教!!!!!!!!!!!!!!! 展开
展开全部
你这样考虑看看可以不可以,我不知道首位是不是可以为0哈,自己考虑一下,我只提供思路。
10个数字里面有两个0:那么这两个0必须相邻,其余8个均为1,则将捆绑在一起的两个0插入空挡。
三个0:其余8个均为1,将其中两个捆绑,另外一个插入,不过一定要注意,在0前与0后的位置是一样的,所以已经插入的0不会多出来一个位置。
其余依次类推:最后将所有分类相加,因为0数目的不同,不会产生重复计算的问题。
10个数字里面有两个0:那么这两个0必须相邻,其余8个均为1,则将捆绑在一起的两个0插入空挡。
三个0:其余8个均为1,将其中两个捆绑,另外一个插入,不过一定要注意,在0前与0后的位置是一样的,所以已经插入的0不会多出来一个位置。
其余依次类推:最后将所有分类相加,因为0数目的不同,不会产生重复计算的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询