This Python program aims to find the smallest divisor of a given integer. It prompts the user to enter an integer, calculates the smallest divisor using a function, and displays the result on the console.
Problem Statement
Write a Python program to find the smallest divisor of a given integer.
Python Program to Find the Smallest Divisor of an Integer
def smallest_divisor(num):
"""
Finds the smallest divisor of a given integer.
Args:
num (int): The integer for which the smallest divisor needs to be found.
Returns:
int: The smallest divisor of the given integer.
"""
# Checking if 1 is a divisor
if num > 1:
return 1
# Finding the smallest divisor
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return i
# If no divisor is found, the number is prime
return num
# Prompting the user to enter an integer
num = int(input("Enter an integer: "))
# Finding the smallest divisor
result = smallest_divisor(num)
# Displaying the result
print("The smallest divisor of {} is: {}".format(num, result))How it works
- The function
smallest_divisortakes an integernumas input and returns the smallest divisor ofnum. - The function checks if the input
numis greater than 1. If it is, then 1 is returned since it is the smallest divisor of any number. - Next, a loop is executed from 2 to the square root of
num(inclusive). This loop checks ifnumis divisible by any number in that range. - If a divisor is found, that divisor is returned as the smallest divisor.
- If no divisor is found in the loop, it means the number is prime, and
numitself is returned as the smallest divisor. - The program prompts the user to enter an integer and stores it in the variable
num. - It then calls the
smallest_divisorfunction withnumas the argument, and the returned value is stored in the variableresult. - Finally, the program displays the result by printing the smallest divisor using the
printstatement.
Input / Output
