Skip to content

Commit 73fd32b

Browse files
committed
判断素数的几种方法
1 parent 6e40dd8 commit 73fd32b

File tree

2 files changed

+141
-0
lines changed

2 files changed

+141
-0
lines changed

is_prime.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#问题
2+
3+
判断一个数是否为素数
4+
5+
#思路说明
6+
7+
这个问题有多种解法,以下的解法来自网络整理。供参考使用。
8+
9+
#解决(Python)
10+
11+
#! /usr/bin/env python
12+
#coding:utf-8
13+
14+
"""
15+
"""
16+
17+
#方法一
18+
19+
import math
20+
21+
def isPrime1(n):
22+
if n <= 1:
23+
return False
24+
for i in range(2, int(math.sqrt(n)) + 1):
25+
if n % i == 0:
26+
return False
27+
28+
return True
29+
30+
#方法二
31+
32+
def isPrime2(n):
33+
if n <= 1:
34+
return False
35+
36+
i = 2
37+
while i*i <= n:
38+
if n % i == 0:
39+
return False
40+
i += 1
41+
return True
42+
43+
#方法三
44+
45+
from itertools import count
46+
47+
def isPrime3(n):
48+
if n <= 1:
49+
return False
50+
for i in count(2):
51+
if i * i > n:
52+
return True
53+
if n % i == 0:
54+
return Fals
55+
56+
#方法四
57+
58+
def isPrime4(n):
59+
if n <= 1:
60+
return False
61+
if n == 2:
62+
return True
63+
if n % 2 == 0:
64+
return False
65+
i = 3
66+
while i * i <= n:
67+
if n % i == 0:
68+
return False
69+
i += 2
70+
return True
71+
72+
73+
if __name__=="__main__":
74+
a=isPrime4(5)
75+
print a

is_prime.py

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#! /usr/bin/env python
2+
#coding:utf-8
3+
4+
"""
5+
判断一个数是否为素数的几种方法
6+
"""
7+
8+
#方法一
9+
10+
import math
11+
12+
def isPrime1(n):
13+
if n <= 1:
14+
return False
15+
for i in range(2, int(math.sqrt(n)) + 1):
16+
if n % i == 0:
17+
return False
18+
19+
return True
20+
21+
#方法二
22+
23+
def isPrime2(n):
24+
if n <= 1:
25+
return False
26+
27+
i = 2
28+
while i*i <= n:
29+
if n % i == 0:
30+
return False
31+
i += 1
32+
return True
33+
34+
#方法三
35+
36+
from itertools import count
37+
38+
def isPrime3(n):
39+
if n <= 1:
40+
return False
41+
for i in count(2):
42+
if i * i > n:
43+
return True
44+
if n % i == 0:
45+
return Fals
46+
47+
#方法四
48+
49+
def isPrime4(n):
50+
if n <= 1:
51+
return False
52+
if n == 2:
53+
return True
54+
if n % 2 == 0:
55+
return False
56+
i = 3
57+
while i * i <= n:
58+
if n % i == 0:
59+
return False
60+
i += 2
61+
return True
62+
63+
64+
if __name__=="__main__":
65+
a=isPrime4(5)
66+
print a

0 commit comments

Comments
 (0)