当前位置:文档之家› 用穷举法解决问题

用穷举法解决问题


确定范围: 0< X(晴天) < 30
? 问 题 分 析
确定条件: X + Y = 30 ?
(条件一) (条件二)
参考代码:
Private Sub Command1_Click() Dim x ,y As Integer For x = 1 To 30
1.
If (
2.
) And (
Print "晴天"; x; "天"
3.2 用穷举法解决问题
算法与程序设计
座位邻近的前后8位同学为一组,并为自己的组取个名字。
组别 1
名字
获得红星个数 名次
2
3
4
5
怎样找出所有开这把锁的钥匙?有没有同学愿意上来找找看。 在找钥匙的过程中,你运用的是什么算法? 请大家阅读课本P45最后两段,用自己的话说说什么是穷举法?
什么是穷举法?
实践作业:
完成课本P49实践1:用穷举法编写程序,找出所有的“水仙花数”。
总结本节课主要内容:
(1)了解了穷举法的概念 (2)了解了用穷举法设计算法的过程 (3)能够根据具体的问题的要求,使用穷举法算法编写程序求解问题
Thanks
某些同学的程序:
For ji = 1 To 100 For tu = 1 To 100
没有必要取这么大
leg = 2 * ji + tu * 4
head =ji+tu
If leg = 100 And head = Then
Print ji, tu
End If
Next tu
Next ji
同学们看看上面这段程序有问题吗,如果有,应该如何修改呢?
也叫枚举法、列举法 ——将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否
满足给定的条件,穷举完所有对象,问题将最终得以解决。
穷举法的两个关键点: ⑴确定范围:列举该问题所有可能的解 ⑵验证条件:检验每个可能解是不是问题的真正解
用穷举法解决问题:
小兔采蘑菇,晴天每天可以采10朵,雨天每天可以采5朵,30天一共采了240 朵,问有多少个晴天,多少个雨天?
Print "雨天"; y; "天"
End If
Next y
Next x
End Sub
定义变量范围
3. ) y = 1 To 30 2. x + y = 30 3. 10 * x + 5 * y = 240
穷举法的巩固加深:
问题:“鸡兔同笼”问题。鸡和兔在一个笼里,共有腿100条,头40个, 问鸡有几只?兔有几只?
相关主题