Python编程算法【三十七】素数
【案例内容】
素数是指除了1和它本身以外再没有其他因子的自然数。求给定范围start~end之间的所有素数。
【解题思路】
先设定一个变量n,让它在start到end之间取值(包括start和end),接着判断从2到n的一半(若n为奇数,则从2到n整除2)的所有数字中,只要有一个数能被n整除,那么n就不是素数。因为根据素数的定义,除了1和n本身以外,不能再有其他因子。对于这步,我们可以直接用for...else的循环结构来实现。此外本题也适合用函数来写,所有代码如下:
【Python代码】

在数论中,素数是最纯粹也最令人着迷的概念。在所有的素数中,只有2是唯一的一个偶数,其他的素数都是奇数。所以如果start为奇数的话,可以每次步长+2,即:
for n in range(start, end + 1, 2)