【python】編程語言入門經典100例--36

  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以內的素數
相關文章
相關標籤/搜索