File tree 2 files changed +141
-0
lines changed
2 files changed +141
-0
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments