題目:判斷101-200之間有多少個素數,並輸出所有素數。
程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
我的代碼:
for i in range(101, 20100): flag = 0 for j in range(2, i): if i % j == 0: flag += 1 if flag == 0: print(i)
來源:https://www.runoob.com/python/python-exercise-example12.html
答案的代碼:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 h = 0 5 leap = 1 6 from math import sqrt 7 from sys import stdout 8 for m in range(101,201): 9 k = int(sqrt(m + 1)) 10 for i in range(2,k + 1): 11 if m % i == 0: 12 leap = 0 13 break 14 if leap == 1: 15 print '%-4d' % m 16 h += 1 17 if h % 10 == 0: 18 print '' 19 leap = 1 20 print 'The total is %d' % h