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)