1 #题目:求100以内的素数.python
代码:app
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)
运行结果:ide
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]#
代码解释:code
#思路:对比程序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以内的素数