例子:列表--素数问题

纵然是瞬间 提交于 2019-12-01 10:01:49

求100以内的素数。

在这里我们可以使用列表来做,首先,先判断该数是不是素数,即只能被1和自己整除,然后使用列表的append()函数,逐个添加。

 1 lst_su = []
 2 for a in range(2,100):
 3     for b in range(2,a):
 4         if a % b == 0:
 5             break
 6     else:
 7         lst_su.append(a)
 8 print(lst_su)
 9 ###################################
10 lst1 = [2]
11 for a in range(3,100):
12     for b in lst1:
13         if a % b == 0:
14             break
15     else:
16         lst1.append(a)
17 print(lst1)
18 ####################################
19 D:\untitled\project2\venv\Scripts\python.exe D:/untitled/project2/day1/shuzi.py
20 [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]
21 [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]
22 
23 Process finished with exit code 0

第一段代码的核心思想是a遍历100以内的正整数,然后b遍历2~a之间的正整数,如果a能够整除b,那么a肯定不是素数,break跳出,剩下的是素数。

第二段代码的核心思想也是如此,不过在b的范围上做了优化,b的取值是a之前的素数,这样的话会提高整段代码的效率。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!