w3resource

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.

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:

Python: Find the largest integer divisor of a number n that is less than n.

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:

Flowchart: Python - Find the largest integer divisor of a number n that is less than n.

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.



Follow us on Facebook and Twitter for latest update.