解题思路:
判别 m 是否为素数的算法是这样的:让 m 被2~除,如果 m 不能被2~之中任何一个整数整除,就可以确定 m 是素数。为了记录 m 是否为素数,可以用一个布尔变量 prime 来表示。在循环开始时先设 prime 为真,若 m 被某一整数整除,就表示 m 不是素数,此时使布尔变量prime 的值变为假。最后根据 prime 是否为真,决定是否输出 m。
编写程序:
运行结果:
程序分析:
请分析程序第14行 break 语句的用法。当发现 m 被某一整数整除之后即可判断 m 不是素数,不必再继续检查 m 是否会被其他整数整除了,因此用 break 提前结束循环。第16行的 if 语句检查 prime 是否为真,如果在本循环中,m 始终未被任何一个整数整除,prime 就保持其在循环开始时的 true,因此应输出素数 m。然后使 m 的值加2,再用同样方法检测新的 m 是否为素数。只要 m≤200,就反复进行以上的工作。这样就输出了100~200的全部素数。