Is A Number Prime?
Define a function that takes one integer argument and returns logical value true
or false
depending on if the integer is a prime.
Per Wikipedia, 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
, orn/2
, will be too slow.
Example
is_a_number_prime(1) /* false */
is_a_number_prime(2) /* true */
is_a_number_prime(-1) /* false */
Solution
py
def is_a_number_prime(num):
if num <= 1 or (num % 2 == 0 and num > 2):
return False
elif num == 2:
return True
else:
for i in range(3, int(num**0.5) + 1, 2):
if num % i == 0:
return False
return True
print(is_a_number_prime(4))