枚举法课题:枚举法目标:知识目标:枚举算法的本质和应用能力目标:枚举算法的应用
重点:利用枚举算法解决实际问题难点:枚举算法的次数确定板书示意:1)简单枚举(例7、例8、例9)2)利用枚举解决逻辑判断问题(例10、例11)3)枚举解决竞赛问题(例12、例13、例14)授课过程:所谓枚举法,指的是从可能的解集合中一一枚举各元素,用题目给定的检验条件判定哪些是无用的,哪些是有用的
能使命题成立,即为其解
一般思路:对命题建立正确的数学模型;根据命题确定的数学模型中各变量的变化范围(即可能解的范围);利用循环语句、条件判断语句逐步求解或证明;枚举法的特点是算法简单,但有时运算量大
对于可能确定解的值域又一时找不到其他更好的算法时可以采用枚举法
例7:求满足表达式A+B=C的所有整数解,其中A,B,C为1~3之间的整数
分析:本题非常简单,即枚举所有情况,符合表达式即可
算法如下:forA:=1to3doforB:=1to3doforC:=1to3doifA+B=CthenWriteln(A,‘+’,B,‘=’,C);上例采用的就是枚举法
所谓枚举法,指的是从可能的解的集合中一一枚举各元素,用题目给定的检验条件判定哪些是无用的,哪些是有用的
能使命题成立的,即为解
从枚举法的定义可以看出,枚举法本质上属于搜索
但与隐式图的搜索有所区别,在采用枚举法求解的问题时,必须满足两个条件:①预先确定解的个数n;②对每个解变量A1,A2,……,An的取值,其变化范围需预先确定A1∈{X11,……,X1p}……Ai∈{Xi1,……,Xiq}……An∈{Xn1,……,Xnk}例7中的解变量有3个:A,B,C
其中A解变量值的可能取值范围A∈{1,2,3}B解变量值的可能取值范围B∈{1,2,3}C解变量值的可能取值范围C∈{1,2,3}则问题的可能解有27个(A,B,C)∈{(1,1,1),