三、简单算法举例 6 【例2】计算5=1×2×3×4×5 约定:用s1、s2、…、sn表示算法的第1、第2、… 第n步。 实现思想:设A、B两个变量,其中A代表被乘数,B代 表乘数。每一步的乘积结果存放在A中。另外,用循环表 示每一步的乘积运算。 具体算法如下: s1:使A=1(初值) s2:使B=2(初值) s3:AxB→A(A与B的积存放于A中) s4:B+1→B(B的值增1) s5:如果B≤5,返回重新执行s3、s4、s5;否则, 算法结束,A的值为5!。 2021/2/24 §1算法的概念及特征
6 2021/2/24 【例2】计算5!=1×2×3×4×5 约定:用s1、s2、…、sn表示算法的第1、第2、…、 第n步。 实现思想:设A、B两个变量,其中A代表被乘数,B代 表乘数。每一步的乘积结果存放在A中。另外,用循环表 示每一步的乘积运算。 具体算法如下: s1:使A = 1(初值) s2:使B = 2(初值) s3:A×BA(A与B的积存放于A中) s4:B+1B(B的值增1) s5:如果B≤5,返回重新执行s3、s4、s5;否则, 算法结束,A的值为5!。 §1 算法的概念及特征 三、简单算法举例
7 A 22>B A×BxA B+1=B 否 B>5? 算法结束 计算5的算法示意图 2021/2/24 §1算法的概念及特征
7 2021/2/24 1 A 2 B A×B A B+1 B B﹥5? 算法结束 否 是 计算5!的算法示意图 §1 算法的概念及特征
8 【例3】计算N!(N为任意正整数)。 s1:输入N s2:使A=1(初值) s3:使B=2(初值) s4:A×B→A(A与B的积存放于A中) s5:B+1→B(B的值增1) s6:如果B≤N,返回重新执行s4、s5、s6;否 则,算法结束,A值为N!。 2021/2/24 §1算法的概念及特征
8 2021/2/24 【例3】计算N!(N为任意正整数)。 s1:输入N s2:使A = 1(初值) s3:使B = 2(初值) s4:A×BA(A与B的积存放于A中) s5:B+1B(B的值增1) s6:如果B≤N,返回重新执行s4、s5、s6;否 则,算法结束,A值为N!。 §1 算法的概念及特征
【例4】将2000~2500年中的闺年打印出来 9 闰年的条件是:()能被4整除,但又不能被100整除的 年份是闰年;(2)能被100整除,又能被400整除的年份是 闰年。 设年份为Y 否 Y被4整除? 否 Y被100整除? 是 L非年 闫年 是 Y被400整除? 闰年 非闫年 2021/2/24 §1算法的概念及特征
9 2021/2/24 是 否 是 否 【例4】将2000~2500年中的闰年打印出来。 闰年的条件是:⑴能被4整除,但又不能被100整除的 年份是闰年;⑵能被100整除,又能被400整除的年份是 闰年。 设年份为Y: 否 Y被4整除? 是 Y被100整除? 闰年 非闰年 Y被400整除? 闰年 非闰年 §1 算法的概念及特征