a007: 判斷質數

編輯歷史

時間 作者 版本
2017-07-19 14:10 – 14:10 (unknown) r0 – r1
顯示 diff
-
+ a007: 判斷質數
+ http://zerojudge.tw/ShowProblem?problemid=a007
+ *MAX=int(2147483647**0.5)+1
+ *is_prime=[False,False]+[True]*(MAX-1)
+ *primes=[]
+ *now=2
+ *while True:
+ * primes.append(now)
+ * for i in range(now*2,MAX+1,now):
+ * is_prime[i]=False
+ * now+=1
+ * try:
+ * while is_prime[now]==False:
+ * now+=1
+ * except:
+ * break
+ *
+ *from time import time
+ *from random import randint
+ *start=time()
+ *for _ in range(100000):
+ * try:
+ * x=randint(2,2147483647) # 含終點 # 自己測資自己生
+ * for prime in primes:
+ * if x%prime:
+ * continue
+ * elif x==prime:
+ * # print('質數')
+ * break
+ * else:
+ * # print('非質數')
+ * break
+ * else:
+ * # print('質數')
+ * pass
+ * except:
+ * break
+ *print(time()-start)