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[0]
# 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: