# Python divisor – Python Program to Find the Smallest Divisor of an Integer

Python divisor: Our website provided core java programs examples with output aid beginners and expert coders to test their knowledge gap and learn accordingly.

Given a number, the task is to find the smallest number which divides the given number in Python.

Examples:

Example1:

Input:

given number = 91

Output:

The smallest which divides the given number [ 91 ] = 7

Example2:

Input:

given number = 169

Output:

Enter some random number = 169
The smallest which divides the given number [ 169 ] = 13

## Program to Find the Smallest Divisor of an Integer in Python

Divisor python: There are several ways to find the smallest divisor of the given number in Python some of them are:

### Method #1:Using for loop(Static Input)

Approach:

• Give the number as static input and store it in a variable.
• Loop from 2 to given number using For loop.
• Check if the iterator value divides the given number perfectly using the if statement and modulus operator.
• Print the iterator value.
• Break the loop using the break statement.
• The Exit of the Program.

Below is the implementation:

# Give the number as static input and store it in a variable.
gvnNumb = 91
# Loop from 2 to given number using For loop.
for itervalue in range(2, gvnNumb+1):
# Check if the iterator value divides the given number
# perfectly using the if statement and modulus operator.
if(gvnNumb % itervalue == 0):
# Print the iterator value.

print(
'The smallest which divides the given number [', gvnNumb, '] =', itervalue)
# Break the loop using the break statement.
break


Output:

The smallest which divides the given number [ 91 ] = 7

### Method #2: Using for loop(User Input )

Approach:

• Give the number as user input using the int(input()) function that converts the string to an integer.
• Store it in a variable.
• Loop from 2 to given number using For loop.
• Check if the iterator value divides the given number perfectly using the if statement and modulus operator.
• Print the iterator value.
• Break the loop using the break statement.
• The Exit of the Program.

Below is the implementation:

# Give the number as user input using the int(input()) function that converts
# the string to an integer.
# Store it in a variable.
gvnNumb = int(input('Enter some random number = '))
# Loop from 2 to given number using For loop.
for itervalue in range(2, gvnNumb+1):
# Check if the iterator value divides the given number
# perfectly using the if statement and modulus operator.
if(gvnNumb % itervalue == 0):
# Print the iterator value.

print(
'The smallest which divides the given number [', gvnNumb, '] =', itervalue)
# Break the loop using the break statement.
break


Output:

Enter some random number = 369
The smallest which divides the given number [ 369 ] = 3

Explanation:

• The user must enter a number.
• The for loop has a range of 2 to the number
• If the remainder of the number is zero when divided by the value of i the element is a divisor of the number.
• Print the number and break the loop.

### Method #3:Using While Loop(Static Input)

Approach:

• Give the number as static input and store it in a variable.
• Take a temporary variable and initialize it with 2.
• Loop till the temporary variable is less than or equal to the given number using the while loop.
• Check if the temporary variable divides the given number perfectly using the if statement and modulus operator.
• Print the temporary variable.
• Break the loop using the break statement.
• Increase the value of the temporary variable by 1.
• The Exit of the Program.

Below is the implementation:

# Give the number as static input and store it in a variable.
gvnNumb = 125
# Take a temporary variable and initialize it with 2.
tempnumber = 2
# Loop till the temporary variable is less than
# or equal to the given number using the while loop.
while(tempnumber <= gvnNumb):
# Check if the temporary variable divides the given number perfectly
# using the if statement and modulus operator.
if(gvnNumb % tempnumber == 0):
# Print the iterator value.
print(
'The smallest which divides the given number [', gvnNumb, '] =', tempnumber)
# Break the loop using the break statement.
break
# Increase the value of the temporary variable by 1.
tempnumber = tempnumber+1


Output:

The smallest which divides the given number [ 125 ] = 5

### Method #4:Using While Loop(User Input)

Approach:

• Give the number as user input using the int(input()) function that converts the string to an integer.
• Store it in a variable.
• Take a temporary variable and initialize it with 2.
• Loop till the temporary variable is less than or equal to the given number using the while loop.
• Check if the temporary variable divides the given number perfectly using the if statement and modulus operator.
• Print the temporary variable.
• Break the loop using the break statement.
• Increase the value of the temporary variable by 1.
• The Exit of the Program.

Below is the implementation:

# Give the number as user input using the int(input()) function that converts
# the string to an integer.
# Store it in a variable.
gvnNumb = int(input('Enter some random number = '))
# Take a temporary variable and initialize it with 2.
tempnumber = 2
# Loop till the temporary variable is less than
# or equal to the given number using the while loop.
while(tempnumber <= gvnNumb):
# Check if the temporary variable divides the given number perfectly
# using the if statement and modulus operator.
if(gvnNumb % tempnumber == 0):
# Print the iterator value.
print(
'The smallest which divides the given number [', gvnNumb, '] =', tempnumber)
# Break the loop using the break statement.
break
# Increase the value of the temporary variable by 1.
tempnumber = tempnumber+1


Output:

Enter some random number = 578
The smallest which divides the given number [ 578 ] = 2

### Method #5:Using List Comprehension

Approach:

• Give the number as user input using the int(input()) function that converts the string to an integer.
• Store it in a variable.
• Using List Comprehension, for loop and if statements add all the divisors of the given number from 2 to given number into the list.
• Print the first element in the given list.
• The Exit of the Program.

Below is the implementation:

# Give the number as user input using the int(input()) function that converts
# the string to an integer.
# Store it in a variable.
gvnNumb = int(input('Enter some random number = '))
# Using List Comprehension, for loop and if statements add
# all the divisors of the given number
# from 2 to given number into the list.
divList = [numbe for numbe in range(2, gvnNumb+1) if(gvnNumb % numbe == 0)]
smalldivi = divList
# Print the first element in the given list.
print('The smallest which divides the given number [', gvnNumb, '] =', smalldivi)


Output:

Enter some random number = 169
The smallest which divides the given number [ 169 ] = 13

Related Programs: