星竹 发表于 2009-12-2 19:45

排列组合

如题:一共有14个位置,每个位置必须填入‘0’或者‘1’两者之一,要求
          两个‘1’之间至少有两个‘0’,至多有10个‘0’,求可能的总数。
请教各位高手,是不是要用计算机算啊?怎么处理啊?

ChaChing 发表于 2009-12-3 00:44

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

星竹 发表于 2009-12-4 15:12

非常感谢ChaChing的帮助,不胜感激。看来我也要努力深入学习一下这方面的东西了,最近的作业老要用Matlab做图分析。:@D

ChaChing 发表于 2009-12-4 23:56

LZ这个问题, 是让个人引起兴趣去试!
一开始个人是试着以解析方式去想, 能力不足未能想出好推理
以程序去算, 也不知是否考虑详尽!? 希望有高人路过指正
还有可以用Matlab方便做图方析, 也是当初个人学习的原因之一
页: [1]
查看完整版本: 排列组合