内容正文:
第三章 算法的程序实现
枚举算法及其程序实现
解析算法:
学前回顾
根据已知条件,分析出需要求出的解,寻找到已知条件和需求解之间的数学关系式
枚举算法
考虑:
现我要例举出100以内被7整除的所有的数,如何编程实现?
用解析算法能否实现?
枚举算法
例举出100以内被7整除的所有的数,如何编程实现?
枚举算法
分析:
枚举算法
列举的范围是什么?
检验的条件是什么?
循环控制方式和列举方式是什么?
n=0,1,2,···,100
被7整除的数:n%7==0
for循环,放入s列表中
代码
枚举算法
s = [ ]
n = int(input('请输入n的值:'))
for i in range(n + 1):
if i % 7 == 0:
s.append(i)
print('被7整除的数分别为:')
print(s)
输出结果:
请输入n的值:100
被7整除的数分别为:
[0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]
编程推算单据中被涂抹数字。
实例1
枚举算法
有一张单据上有一个5位数的编号n,如图所示,其百位数和十位数处已经变得模糊不清,但是知道这个5位数是23的倍数。
现要设计一个算法,找出所有满足这些条件的5位数,并统计这些5位数的个数。
实例1
分析:
枚举算法
列举的范围是什么?
检验的条件是什么?
循环控制方式和列举方式是什么?
十位和百位的数:n=00,01,02,···,99
被23整除:(25006+n*10)%23==0
for循环,找出这些数并统计其个数count_1
编程推算单据中被涂抹数字。
代码
枚举算法
count_1 = 0
for i in range(1