# 题目:判断101-200之间有多少个素数,并输出所有素数。
分析:素数(质数)只能被1和它本身整除。按照这个原理,我们可以求出所有的合数(非质数)。
然后按照列表的方法,删除这些偶数。(网上还有其他的方法(参见菜鸟教程),这里列出不一样的方法。)
1 l1 = [i for i in range(101,201)] 2 # print(l1) 3 count = 0 4 for i in range(101,201): 5 for j in range(2,i): 6 if i%j==0: 7 l1.remove(i) 8 count+=1 9 break 10 print("素数的个数是%d"%(100-count)) 11 print(l1)
执行结果:
素数的个数是21
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]