内容正文:
人们的生活已经被密码层层包围,密码对国家、集体、个人的信息安全非常重要,黑客通过种种方法对我们的密码进行攻击。
李磊同学很想知道破解密码背后的原理,从而在设置密码时设置安全级别更高的密码。
项目背景
探究密码安全问题
————枚举算法的应用
项目背景
请同学们尝试打开你拿到的三位密码锁
密码位置
当密码正确时,按动按钮,锁被打开
破密解锁
枚举法就是按问题本身的性质,一一列举出该问题所有可能的解,逐一检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。也叫穷举法。
算法思想
算法关键步骤
一一列举
逐一检验
语句格式
算法结构
列举范围
检验条件
注意事项
选择结构
for i in range( )
if( )
循环结构
枚举算法
计算机解决问题的过程
一张借书卡上有个五位数的编号,其个位数和十位数处已经变得模糊不清,只知道这个五位数是57或67的倍数,请找出所有满足条件的5位数。
项目活动一:利用枚举算法编程解决问题
分析问题
设计算法
程序实现
调试运行
分析问题
枚举范围
检验条件
14700-14799
能被57或67整除
一张借书卡上有个五位数的编号,其个位数和十位数处已经变得模糊不清,只知道这个五位数是57或67的倍数,请找出所有满足条件的5位数。
项目活动一:利用枚举算法编程解决问题
请同学们依据枚举算法的关键步骤,用自然语言描述找出满足条件的五位数的步骤。
设计算法
①______________________
②______________________
说一说
一张借书卡上有个五位数的编号,其个位数和十位数处已经变得模糊不清,只知道这个五位数是57或67的倍数,请找出所有满足条件的5位数。
项目活动一:利用枚举算法编程解决问题
n从14700循环到14799
如果n是57的倍数或者n是67的倍数,就输出n,否则继续下一个数,直到循环结束
设计算法
for n in range(________,_________ )
if( )
print(n)
n%57==0 n%67==0
14700
14800
or
n:五位数的编号
一张借书卡上有个五位数的编号,其个位数和十位数处已经变得模糊不清,只知道这个五位数是57或67的倍数,请找出所有