python寻找所有三位数素数_编写一个函数,判断一个数是否为素数,并通过调用函数求出所有三位数的素数?...

下面展示的是简单易懂的「筛法」:

from math import ceil,sqrt

maxN = 100 # 在[1, maxN]范围内的整数寻找质数

board = (maxN+1)*[0]

ptrI = 0

print("开始在1到"+str(maxN)+"范围内寻找质数")

board[0] = 1 # 0 不是质数

board[1] = 1 # 1 不是质数

while ptrI <= ceil(sqrt(maxN)):

print("Is " + str(ptrI) + " prime? ")

if board[ptrI] == 0:

print("Found prime: " + str(ptrI))

ptrJ = 2

while ptrI*ptrJ <= maxN:

print("Marked: " +str(ptrI*ptrJ))

board[ptrI*ptrJ] = 1

ptrJ = ptrJ+1

ptrI = ptrI + 1

print("All primes that are less than or equal " + str(maxN) + ": ")

primes = list(filter(lambda x: board[x] == 0, range(0, maxN+1)))

print(primes)

定义1:(整除)设

,如果存在

,使得

,就说

整除

你可能感兴趣的:(python寻找所有三位数素数)