1. Напишите код на Python, который находит число с наибольшим количеством различных натуральных делителей среди целых

  • 26
1. Напишите код на Python, который находит число с наибольшим количеством различных натуральных делителей среди целых чисел в диапазоне от 84052 до 84130 включительно. Если таких чисел несколько, выведите наименьшее из них. Выведите количество делителей найденного числа и само число на экран.
Звездный_Лис
11
Конечно! Для решения этой задачи посмотрим на каждое число из заданного диапазона и подсчитаем количество его делителей. Создадим функцию `count_divisors(n)`, которая будет принимать число `n` и возвращать количество его делителей.

python
def count_divisors(n):
count = 0
for i in range(1, n + 1):
if n % i == 0:
count += 1
return count


Теперь, используя эту функцию, мы можем пройти по заданному диапазону и найти число с наибольшим количеством делителей. Для этого создадим переменные `max_divisors` и `number_with_max_divisors`. Изначально установим `max_divisors` в 0, а `number_with_max_divisors` пусть будет равно первому числу из диапазона.

python
max_divisors = 0
number_with_max_divisors = 0

for number in range(84052, 84131):
divisors = count_divisors(number)
if divisors > max_divisors:
max_divisors = divisors
number_with_max_divisors = number


На этом этапе мы нашли число с наибольшим количеством делителей и сохранили его в переменной `number_with_max_divisors`. Теперь можем вывести результат на экран:

python
print(f"Число с наибольшим количеством делителей: {number_with_max_divisors}")
print(f"Количество делителей: {max_divisors}")


Полный код решения задачи будет выглядеть так:

python
def count_divisors(n):
count = 0
for i in range(1, n + 1):
if n % i == 0:
count += 1
return count

max_divisors = 0
number_with_max_divisors = 0

for number in range(84052, 84131):
divisors = count_divisors(number)
if divisors > max_divisors:
max_divisors = divisors
number_with_max_divisors = number

print(f"Число с наибольшим количеством делителей: {number_with_max_divisors}")
print(f"Количество делителей: {max_divisors}")


Таким образом, после выполнения данного кода, вы получите на экране число с наибольшим количеством делителей в заданном диапазоне, а также количество делителей у этого числа.