- primenum = []
- notprimenum = []
- for i in range(101,201):
- maxnum = int(i**0.5)
- minnum = 2
- flag = True
- while True:
- if i%maxnum == 0:
- flag = False
- break
- elif i%minnum == 0:
- flag = False
- break
- elif minnum == maxnum or (minnum+1) == maxnum:
- flag = True
- break
- else:
- maxnum -= 1
- minnum += 1
- if flag:
- primenum.append(i)
- else:
- notprimenum.append(i)
- print('范围101-200中素数有:',primenum)
- print('非素数有:',notprimenum)
复制代码
结果输出
- 范围101-200中素数有: [101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
- 非素数有: [102, 104, 105, 106, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 128, 129, 130, 132, 133, 134, 135, 136, 138, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 152, 153, 154, 155, 156, 158, 159, 160, 161, 162, 164, 165, 166, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 180, 182, 183, 184, 185, 186, 187, 188, 189, 190, 192, 194, 195, 196, 198, 200]
复制代码 |