练习:经典问题--n 以内的质数

发布时间 2023-09-16 15:59:03作者: 三天乐趣
题: 请找出n 以内的所有质数(不包括n)。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数

如,n = 100
输出:[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]

 1 class Solution(object):
 2     def func(self,n):
 3         # 已知2是最小的质数,先定义在列表中
 4         re=[2]
 5         # 判断遍历3至n-1
 6         for i in range(3,n):
 7             j=2
 8             # 用i逐个除以2至i-1的整数,一旦能整除就不是质数,退出for循环
 9             for j in range(2,i):
10                 if i%j==0:
11                     break
12             # 再判断i不能整除j,加入re列表中
13             if i%j!=0:
14                 re.append(i)
15         return re
16 
17 # eg.
18 demo=Solution()
19 list=demo.func(100)
20 print(list)

2023-9-16笔记