排列组合
如题:一共有14个位置,每个位置必须填入‘0’或者‘1’两者之一,要求两个‘1’之间至少有两个‘0’,至多有10个‘0’,求可能的总数。
请教各位高手,是不是要用计算机算啊?怎么处理啊? clc; clear; n=14; Sol=[]; SolNo=0;
for ii=2^n-1:-1:1
str=sprintf('%014s',dec2base(ii,2));
aa=findstr(str,'1'); bb=diff(aa)-1; bb2=;
if isempty(find(bb<2, 1)) & isempty(find(bb2>10, 1))
Sol=; SolNo=SolNo+1;
end
end
SolNo =
267 非常感谢ChaChing的帮助,不胜感激。看来我也要努力深入学习一下这方面的东西了,最近的作业老要用Matlab做图分析。:@D LZ这个问题, 是让个人引起兴趣去试!
一开始个人是试着以解析方式去想, 能力不足未能想出好推理
以程序去算, 也不知是否考虑详尽!? 希望有高人路过指正
还有可以用Matlab方便做图方析, 也是当初个人学习的原因之一
页:
[1]