第
16
章
穷举算法与实验
穷举方法是基于计算机特点而进行解题的思维方法。
一般是在一时找不出解决问题的更
好途径
(即从数学上找不到求解的公式或规则)时,可以根据问题中的的部分条件
(约束条
件)
将所有可能解的情况列举出来,
然后通过一一验证是否符合整个问题的求解要求,
而得
到问题的解。
这样解决问题的方法我们称之为穷举算法。
穷举算法特点是算法简单,
但运行
时所花费的时间量大。
因此,
我们在用穷举方法解决问题时,
应尽可能将明显的不符合条件
的情况排除在外,
以尽快取得问题的解。
虽然穷举法效率并不高,
但是适应一些没有明显规
律可循的问题的解决。
因为穷举算法就是从所有可能的情况中搜索正确的答案,所以一般可按如下步骤:
第
1
步
:
对于一种可能的情况,列举出来并计算其结果;
第
2
步:判断结果是否满足要求,如果不满足则执行第
1
步来搜索下一个可能的情况,
如果满足要求,则表示寻找到一个正确的答案,执行下一步操作,如寻找其他正确(合适)
的答案或者中断循环。
16.1
三角形数问题
16.1.1
问题描述
将
,
F
,
E
,
D
,
C
,
B
,
A
这六个变量排成如图所示的三角形,这六个变量分别取
[1
,
6]
上的
整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。如图就是一个解。
A 6