1 #题目:求100之内的素数.
代码:
2 li = []
3 for x in range(2,101):
4 m = 0
5 for y in range(2,x):
6 if x%y == 0:
7 m = 1
8 break
9 if m == 0:
10 li.append(x)
11 print('1到100之内的素数是:')
12 print(li)
运行结果:
1到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]
[root@HK code_100]#
代码解释:
#思路:对比程序12,这是第二种求素数的思路,双重循环,用条件flag判断是否是素数,如果是就加入列表li
2 li = [] #创建一个空列表,用来存放素数
3 for x in range(2,101): # 因为1不是素数,遍历2到100所有的数
4 m = 0 #flag m赋值为0
5 for y in range(2,x): #遍历2到x-1的所有的数,如果这个范围内有数字能被x整除,说明x不是素数
6 if x%y == 0: #如果x能被2到x-1中的数整除
7 m = 1 #将flag m赋值为1
8 break #发现有一个数可以整除x就跳出循环,节省资源
9 if m == 0: #内层循环结束后,如果m的值为0,说明内层循环中没有数字可以整除x,可是判定这个x是素数,如果m为1说明x被整除,不是素数
10 li.append(x) #将素数添加到li列表中
11 print('1到100之内的素数是:')
12 print(li) #打印li列表,也就是打印1到100之内的素数