n的平方就是v,所以当2到n之间没有v的因子,那n之后更不会有因子了
所以只要判断2到n之间只要有一个因子就证明v不是素数
import math #引入math库
def IsPrime(v): #定义函数
n=int(math.sqrt(v)+1)#把v开平方之后+1
for i in range(2,n):#从2到n-1循环
if v%i==0 #求余数
return 'No' #函数返回值
else:
return 'Yes'
这是 基于如果 v 不能被 2 ~ v的平方根间任一整数整除,v 必定是素数,而range是左闭右开区间,所以第三步 +1 才能让i取到v的平方根