本文,用python3写一个判别素数的自定义函数。
工具/材料
python3.6
math模块
time模块
操作方法
01
根据素数的定义,写一个粗略的自定义函数:
def p(n):
if str(n).isdigit() and n>1:
for i in range(2,n-1):
if n%i==0:
return False
return True
else:
print('变量有误,请输入大于1的整数。')
02
先检验一下这个函数是否靠谱:
for i in range(36):
print(i,' ',p(i))
看来还是挺靠谱的。
03
我们查看一下,用这个函数检测8000以内的所有素数,需要用多长时间:
import time
a=time.clock()
for i in range(2,8000):
p(i)
b=time.clock()
print('用时%s秒。'%(b-a))
04
前30000个素数的判别,用时为2秒多点。