解 第一步,输入a的值.
第二步,计算l=的值.
第三步,计算S=×l2的值.
第四步,输出S的值.
例4 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.
考点 算法的设计与应用
题点 循环型算法设计
解 算法如下:
第一步,给出任意一个正整数n(n>1).
第二步,若n=2,则输出"2是素数",判断结束.
第三步,令m=1.
第四步,将m的值增加1,仍用m表示.
第五步,如果m≥n,则输出"n是素数",判断结束.
第六步,判断m能否整除n,
①如果能整除,则输出"n不是素数",判断结束;
②如果不能整除,则转第四步.
反思与感悟 设计一个具体问题的算法,通常按以下步骤
(1)认真分析问题,找出解决该问题的一般数学方法.
(2)借助有关变量或参数对算法加以表述.
(3)将解决问题的过程划分为若干步骤.
(4)用简练的语言将这个步骤表示出来.
跟踪训练4 判断一个大于2的整数是否为质数的算法步骤如何设计?
考点 算法的设计与应用
题点 循环型算法设计
解 第一步,给定大于2的整数n.
第二步,令i=2.
第三步,用i除n,得到余数r.
第四步,判断"r=0"是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步,判断"i>(n-1)"是否成立.若是,则n是质数,结束算法;否则,返回第三步.