枚举算法

枚举法模式

(1)区间枚举

对于有明确范围要求的实际案例,通过枚举循环的上下限控制枚举区间,而在循环体中完成各个运算操作,然后根据所求解的具体条件,应用选择结构实施判别与筛选,求得所要求的解。

区间枚举法的框架:

n=0;

for(k=<区间下限>;k<=<区间上限>;k++)

{  <运算操作序列>;

  if(<约束条件>)

  {

    printf(<满足要求的解>);  

    n++;

  }

}

printf(<解的个数>);

 

(2)递增枚举

有些问题没有明确的范围限制,可根据问题的具体情况试探地从某一个点开始增值枚举,对每一个数进行操作和判别,若满足条件则输出结果。

递增枚举设计的框架描述:

k=0;

while(1)

{

  k++;

  <运算符操作序列>;

  if(<约束条件>)

  {

    printf(<满足要求的解>);

  return ;

  }

}

posted on 2017-11-20 21:54  暗影蔽日  阅读(148)  评论(0编辑  收藏  举报

导航