与质数(素数prime)有关的python程序
(2018-03-10 23:17:55)
标签:
pythonprime质数列表质数判断素数 |
分类: Algorithm-DataStructure |
# -*- coding: utf-8 -*-
"""
Spyder Editor
Python scripts file related with prime
"""
import math
import time
primeList=[]
# 用到math库中的开平方函数sqrt
def isprime1(num):
if num <=
1:
return False
for i in
range(2,
int(math.sqrt(num))+1):
#也可以用num**0.5
if num % i == 0:
return False
return
True
# 没有使用math.sqrt函数,采用 i递增,保证i*i小于n作为判断条件
def isprime2(n): # do not use
math.sqrt
if n <=
1:
return False
i = 1
while i*i
<= n:
if n % i == 0:
return False
i += 1
return
True
# 不同math.sqrt, 首先判断是否是除2以外的偶数,再采用 i*i 小于n这个条件,递增i
def isprime(n):
"""
质数判断函数,不用sqrt()函数,改用乘方代替开方,首先排除偶数
do not use
math.sqrt and delete even number
"""
if n < 2
:
return False
if n == 2
:
return True
if n % 2 ==
0 : return False
i = 3
while i*i
<= n:
if n % i == 0:
return False
i += 2 #
偶数已经排除了,只判断奇数
return
True
"""有一段也可以用下列代替:
for i in range(3,int(n**0.5)+1,2 ):
if n % i == 0: return False
"""
# 最笨的但是最可以理解的求质数的方法,两重循环,注意break的应用。
def prime_number1(upper):
prime_number
= 0
for n in
range(2,upper):
for x in range(2,n):
if n % x == 0:
#print("= = = * =" % (n,x,n/x ))
break
else:
"""
Spyder Editor
Python scripts file related with prime
"""
import math
import time
primeList=[]
# 用到math库中的开平方函数sqrt
def isprime1(num):
# 没有使用math.sqrt函数,采用 i递增,保证i*i小于n作为判断条件
def isprime2(n):
# 不同math.sqrt, 首先判断是否是除2以外的偶数,再采用 i*i 小于n这个条件,递增i
def isprime(n):
# 最笨的但是最可以理解的求质数的方法,两重循环,注意break的应用。
def prime_number1(upper):