四、穷举法 实例二:有形如:ax +bx +cx+d=0 这样的一个一 应用 元三次方程。给出该方程中各项的系数 (a,b,c,
3 2
d 均为实数),并约定该方程存在三个不同实根 (根的范围在-100至100之间),且根与根之差的绝 对值>=1。要求由小到大依次在同一行输出这三 个实根(根与根之间留有空格),并精确到小数点 后2位。 提示:记方程f(x)=0,若存在2个数x1和x2,且 x1<x2,f(x1)*(x2)<0,则在(x1,x2)之间一定有 一个 根。 样例 输入:1 -5 -4 20 输出:-2.00 2.00 5.00
穷举法
穷举法
一、引 入 实例一:输入绳子的长度 n,将该绳子分成三段,
每段的长度为正整数,输出由该三段绳子组成的 三角形个数。 算法分析:没有公式直接求出三角形的个数,所以程 序只能采用穷举法,一一验证范围内的数是否能构成 三角形,若是则累计。
穷举法
一、引 入 s:=0;
for a:=1 to n-2 do for b:=a to n-2 do for c:=b to n-2 do if (a+b>c) and (b+c>a) and (c+a>b) and (a+b+c=n) then s:=s+1;
四、穷举法 本题是2001 年全国信息学奥林匹克竞赛高中组复 应用 赛第一题,如果考虑解方程的话则比较麻烦。我
们可以换个角度思考问题,在-100到100之间找 三个满足方程的实数,由于穷举时必须用整型变 量,题目又要求保留两位小数,我们只需将循环 变量扩大100倍即可顺利穷举,最后只要将所求 结果再缩小100倍即可。