Python Program - Check if Given Number is Prime


Check if Given Number is Prime

A number is said to be a Prime Number if it has only one and itself as factors.

Based on the definition of a Prime Number, if we can prove that there is no factor in between 1 and the given number, then the given number is a Prime Number.

Prime Number Program using For Loop

In the following program, we use For loop to iterate from 2 to n, to check if there is any factor for n in that range.

Python Program

n = int(input('Enter a number : '))

isPrime = True
for i in range(2, n):
    if n % i == 0:
        isPrime = False
        break

if isPrime:
    print(n, 'is a Prime Number.')
else:
    print(n, 'is not a Prime Number.')

Output #1

Enter a number : 25
25 is not a Prime Number.

Output #2

Enter a number : 11
11 is a Prime Number.

Output #3

Enter a number : 79
79 is a Prime Number.

Efficient Algorithm for Prime Number

If N is given number, we can reduce the number of iterations from 1 to N by considering the fact that if i is not a factor of N, then there is no possibility that there would be a factor in the range (i, N).

For example, consider that N is 23, and i is 2. If 2 is not a factor of 23, then there is no integer in the range [23/2, 23) which could be a factor of 23. After that, if 3 is not a factor of 23, then there is no integer in the range [23/3, 23) which could be a factor of 23.

If the number of iterations are reduced, execution time for the program is also reduced, which is a good thing.

Python Program

n = int(input('Enter a number : '))

i = 2
isPrime = True
while i < (n / i):
    if n % i == 0:
        isPrime = False
        break
    i += 1

if isPrime:
    print(n, 'is a Prime Number.')
else:
    print(n, 'is not a Prime Number.')

Output #1

Enter a number : 9973
9973 is a Prime Number.

Output #2

Enter a number : 87
87 is not a Prime Number.