python基础练习题(题目 判断101-200之间有多少个素数,并输出所有素数。)
2021-05-25 22:36 第二个卿老师 阅读(1202) 评论(0) 编辑 收藏 举报day7
---------------------------------------------------------------
实例012:100到200的素数
题目 判断101-200之间有多少个素数,并输出所有素数。
怎么判断一个数是素数,就是除了1与其本身外,不能被其他数整除的数。1就不用考虑了,而其他数的范围为平方根之内就行:
1 import math 2 3 a = input("请输入两个数,以英文逗号隔开:") 4 a = a.split(",") 5 list = [] 6 for i in range(int(a[0]),int(a[1])+1): 7 for j in range(2,int(math.sqrt(i))+1): 8 if i % j == 0: 9 break 10 else: 11 list.append(i) 12 print("其中素数有%s,共有%d个" % (list,len(list)))
看下答案有两种,其中较为简洁的和我上面一样,哈哈哈,我还是想到了的,另外一种如下,用flag标记是否找到了整除的数,也是个思路:
1 import math 2 for i in range(100,200): 3 flag=0 4 for j in range(2,round(math.sqrt(i))+1): 5 if i%j==0: 6 flag=1 7 break 8 if flag: 9 continue 10 print(i)