枚举法也称列举法,穷举法,是蛮力策略的具体表现。又称蛮力法
枚举法模式
(1)区间枚举
对于有明确范围要求的实际案例,通过枚举循环的上下限控制枚举区间,而在循环体中完成各个运算操作,然后根据所求解的具体条件,应用选择结构实施判别与筛选,求得所要求的解。
区间枚举法的框架:
n=0;
for(k=<区间下限>;k<=<区间上限>;k++)
{ <运算操作序列>;
if(<约束条件>)
{
printf(<满足要求的解>);
n++;
}
}
printf(<解的个数>);
(2)递增枚举
有些问题没有明确的范围限制,可根据问题的具体情况试探地从某一个点开始增值枚举,对每一个数进行操作和判别,若满足条件则输出结果。
递增枚举设计的框架描述:
k=0;
while(1)
{
k++;
<运算符操作序列>;
if(<约束条件>)
{
printf(<满足要求的解>);
return ;
}
}