素数
问题描述: 素数(质数)指的是不能被分解的数,除了1和它本身之外就没有其他数能够整除。 求100以内的所有素数。 我的代码: import math def prime(n): count=0 for i in range(2,int(math.sqrt(n))+1): if n%i==0: count=1 if count!=1: return True else: return False a=[] for j in range(2,100): if prime(j): a.append(j) print a 结果: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] 我的思路: 原理:在一般领域,对正整数n,如果用2到n的平方根之间的所有整数去除,均无法整除,则n为质数。 大致流程是:先定义一个函数,判断传入的数是否为素数,然后使用该函数遍历100以内的数,将满足的数添加进列表,最后再输出; 其中,count是一个状态检查器,值为1时表示不是素数,为0时表示是素数; 示例代码: def isPrimeNumber(n, s): for k in s: if k * k > n: break if n % k == 0: return