ACM蛮力法讲述.ppt

蛮力法 【暴力、枚举、穷举……】 所谓蛮力法,是指从可能的解集合(空间)中一一列举各情况,用题目给定的检验条件判定哪些是无用的,哪些是有用的。能使命题成立者,即为问题的解。 采用蛮力法解题的基本思路如下: (1)建立问题的数学模型,确定问题的可能解的集合(可能解的空间)。 (2)逐一列出可能解集合中的元素,验证是否是问题的解。 程序优化的主要考虑方向是:通过加强约束条件,缩小可能解的集合的规模。 蛮力算法 使用伪代码可以描述为: for each s in S //S是问题所有可能解的集合 if s is a solution then begin Write(s); exit the program; end; 例题:寻找水仙花数 一个三位数其各位数字的立方和等于它本身,这 样的数称为水仙花数。要求找出所有的水仙花数 分析:所求一定是三位数,所以范围一定在100-999之间,只要将这些数逐一列举,符合条件者为解 枚举算法 For a:=100 to 999 do { b:=a mod 10; //取出个位 c:=(a div 10) mod 10 //取出十位 d:= a div 100 //取出百位 if (a=b*b*b+c*c*c+d*d*d) then wr

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档