ID: 8501775

教科版高中信息技术选修1 3.2 用穷举法解决问题 课件(共24张PPT)

日期:2026-02-11 科目:信息技术 类型:高中课件 查看:63次 大小:278202B 来源:二一课件通
预览图 1/9
教科,高中,信息技术,选修,用穷,举法
  • cover
情景导入 暑假我带着一个有三位数字的密码行李箱去旅行,旅行途中发现自己忘记了开锁的密码,但我还记得第一位密码是"7",后面两位数字已经不记得,我该怎么办? 模 拟 §3.2 用穷举法解决问题 什么是穷举法 穷举法:也叫枚举法,列举法,它将求解对象一一列举出来,然后逐一加以分析、处理、并验证结果是否满足给定的条件,枚举完所有对象,问题将最终得以解决。 用穷举法解决问题的步骤 Step1:分析问题 Step2:确定要枚举的求解对象,同时确定求解对象的枚举范围 Step3:一一枚举,然后加以分析、处理、验证 举例:水仙花数 已知水仙花数满足以下两个条件 水仙花数是一个三位正整数 这个三位数刚好等于各个位上的数字立方和 例如:153就是一个水仙花数 编程输出所有的水仙花数。 举例:水仙花数 分析问题:假设这个三位数为m,那么 百位上的数字a为: 十位上的数字b为: 个位上的数字c为: m满足的条件为: m为三位数 m=a^3+b^3+c^3 a=m\100 b=(m-a*100)\10 c=m mod 10 举例:水仙花数 确定枚举的求解对象: 每一个三位数m 确定求解对象的枚举范围 100≤m≤999 验证的条件 m=a^3+b^3+c^3 开始 m=100 m<=999? m=a3+b3+c3? 输出m 是 m=m+1 否 求出百位数字a 求出十位数字b 求出个位数字c 是 结束 否 举例:水仙花数 Private Sub Command1_Click() Dim m As Integer Dim a, b, c As Integer For m = _____ To _____ '枚举三位数m a = m \ 100 '计算百位数字a b = (m - 100 * a) \ 10 '计算十位数字b c = m Mod 10 '计算个位数字c If m = _____ Then '验证条件 Print m & "是水仙花数" End If Next m End Sub 运行程序 100 999 a ^ 3 + b ^ 3 + c ^ 3 举例:水仙花数 分析问题:假设这个三位数m的百位上数字为a,十位上数字为b,个位上数字为c,则: 这个三位数m= a,b,c满足的条件为: 1≤a≤9 0≤b≤9 0≤c≤9 m=a^3+b^3+c^3 a*100+b*10+c 举例:水仙花数 确定枚举的求解对象: 百位数字a 十位数字b 个位数字c 验证的条件 a*100+b*10+c=a^3+b^3+c^3 确定求解对象的范围 1≤a≤9 0≤b≤9 0≤c≤9 Private Sub Command1_Click() Dim m As Integer Dim a, b, c As Integer For a = _____ To _____ '枚举百位数字a For b=_____ To _____ '枚举十位数字b For c=_____ To _____ '枚举个位数字c m=a*100+b*10+c If m = _____ Then '验证条件 Print m & "是水仙花数" End If Next c Next b Next a End Sub 1 9 a ^ 3 + b ^ 3 + c ^ 3 0 9 0 9 探究任务:百钱百鸡 用100元钱买100只鸡,公鸡,母鸡,小鸡都要有。公鸡5元1只,母鸡3元1只,小鸡1元3只。请问公鸡,母鸡,小鸡各应该买多少只? 编程输出每一种方案。 探究任务:百钱百鸡 分析问题:假设公鸡有a只,母鸡有b只,小鸡有c只,则a,b,c满足的条件为: a,b,c均大于0 a+b+c=100 5*a+3*b+c/3=100 探究任务:百钱百鸡 确定枚举的求解对象 公鸡只数a 母鸡只数b 小鸡只数c 确定求解对象的范围 1≤a≤20 1≤b≤33 1≤c≤100 验证条件 a+b+c=100 5*a+3*b+c/3=100 Private Sub Command1_Click() Dim a, b, c As Integer For a = ____ To ____ '枚举公鸡只数 For b = ____ To ____ '枚举母鸡只数 For c = ____ To _____ '枚举小鸡只数 If (a + b + c = 100 And 5 * a + 3 * b + c \ 3 = 100) Then Print "公鸡:"; a; "只", Print "母鸡:"; b; "只", Print "小鸡:"; c; "只" End If Next c Next b Next a End Sub 运行程序 / '此行有一处错误 1 20 1 33 1 100 实践探究,深化思维 学校科技文化节之英语演讲大赛就要开始了,高二年级共有M=328名学生参赛。比赛规则规定先进行小组比赛,然后取小组前三名进行决赛。因此,组委会需要对参赛选手进行分组。请按下面的分组规则设计算法,求解 ... ...

~~ 您好,已阅读到文档的结尾了 ~~