题目:判断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