Program to Find the Smallest Divisor of an Integer

Python Program to Find the Smallest Divisor of an Integer

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

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: