-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path7
153 lines (42 loc) · 2.21 KB
/
7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
codewars.com
Define a function that takes an integer argument and returns logical value true or false depending on if the integer is a prime.
A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.
Requirements
You can assume you will be given an integer input.
You can not assume that the integer will be only positive. You may be given negative numbers as well (or 0).
NOTE on performance: There are no fancy optimizations required, but still the most trivial solutions might time out. Numbers go up to 2^31 (or similar, depends on language version). Looping all the way up to n, or n/2, will be too slow.
Example:
is_prime(1) /* false */
is_prime(2) /* true */
is_prime(-1) /* false */
def is_prime(number):
return True or False
Test.assert_equals(is_prime(0), False, "0 is not prime")
Test.assert_equals(is_prime(1), False, "1 is not prime")
Test.assert_equals(is_prime(2), True, "2 is prime")
Test.assert_equals(is_prime(73), True, "73 is prime")
Test.assert_equals(is_prime(75), False, "75 is not prime")
Test.assert_equals(is_prime(-1), False, "-1 is not prime")
Test.assert_equals(is_prime(3), True, "3 is prime");
Test.assert_equals(is_prime(5), True, "5 is prime");
Test.assert_equals(is_prime(7), True, "7 is prime");
Test.assert_equals(is_prime(41), True, "41 is prime");
Test.assert_equals(is_prime(5099), True, "5099 is prime");
Test.assert_equals(is_prime(4), False, "4 is not prime");
Test.assert_equals(is_prime(6), False, "6 is not prime");
Test.assert_equals(is_prime(8), False, "8 is not prime");
Test.assert_equals(is_prime(9), False, "9 is not prime");
Test.assert_equals(is_prime(45), False, "45 is not prime");
Test.assert_equals(is_prime(-5), False, "-5 is not prime");
Test.assert_equals(is_prime(-8), False, "-8 is not prime");
Test.assert_equals(is_prime(-41), False, "-41 is not prime");
#my_solution
import math
def is_prime(num):
if (num <= 1):
return False
max_div = math.floor(math.sqrt(num))
for count in range(2,max_div+1):
if (num % count) == 0:
return False ##not prime
return True