Python: Find the largest integer divisor of a number n that is less than n
Python Programming Puzzles: Exercise-37 with Solution
A divisor is a number that divides another number either completely or with a remainder.
Largest Proper Divisor
Write a Python program to find the largest integer divisor of a number n that is less than n.
Input: 18 Output: 9 Input: 100 Output: 50 Input: 102 Output: 51 Input: 500 Output: 250 Input: 1000 Output: 500 Input: 6500 Output: 3250
Visual Presentation:
Sample Solution:
Python Code:
# License: https://bit.ly/3oLErEI
# Define a function named 'test' that takes an integer 'n' as input
def test(n):
# Return the largest integer divisor of 'n' that is less than 'n'
return next(d for d in range(n - 1, 0, -1) if n % d == 0)
# Assign a specific value 'n' to the variable
n = 18
# Print a message indicating the original number
print("Original number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
# Assign another specific value 'n' to the variable
n = 100
# Print a message indicating the original number
print("\nOriginal number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
# Assign another specific value 'n' to the variable
n = 102
# Print a message indicating the original number
print("\nOriginal number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
# Assign another specific value 'n' to the variable
n = 500
# Print a message indicating the original number
print("\nOriginal number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
# Assign another specific value 'n' to the variable
n = 1000
# Print a message indicating the original number
print("\nOriginal number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
# Assign another specific value 'n' to the variable
n = 6500
# Print a message indicating the original number
print("\nOriginal number:", n)
# Print a message indicating the operation to be performed
print("Largest integer divisor of a number n that is less than n:")
# Print the result of the test function applied to 'n'
print(test(n))
Sample Output:
Original number: 18 Largest integer divisor of a number n that is less than n: 9 Original number: 100 Largest integer divisor of a number n that is less than n: 50 Original number: 102 Largest integer divisor of a number n that is less than n: 51 Original number: 500 Largest integer divisor of a number n that is less than n: 250 Original number: 1000 Largest integer divisor of a number n that is less than n: 500 Original number: 6500 Largest integer divisor of a number n that is less than n: 3250
Flowchart:
Python Code Editor :
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Find the largest k numbers.
Next: Sort the numbers by the sum of their digits.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/python-exercises/puzzles/python-programming-puzzles-37.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics