
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [190201;
190230], числа, имеющие ровно 4 различных делителя. Выведите эти четыре делителя для каждого найденного числа в порядке убывания. Язык Python. 

Ответы на вопрос

y = []
hmas = []
for num in range(190201, 190230 +1):
hmas = []
for divider in range(1, num+1):
if num % divider == 0: hmas.append(divider)
if len(hmas) == 4: y.append([num, hmas])
for element in y:
print(f"{element[0]}:", sorted(element[1], reverse = True))



Ответ:
190201 17291 11 1
190202 95101 2 1
190214 95107 2 1
190219 853 223 1
190222 95111 2 1
190223 17293 11 1
190227 63409 3 1
190229 14633 13 1
Объяснение:
v = [0] * 190231
a = []
# решето Эратосфена
for i in range(1, 190231):
for j in range(i, 190231, i):
v[j] += 1
# проверка, что число нам подходит
if v[i] == 4 and 190201 <= i <= 190230:
a.append(i)
# вывод делителей
for i in range(len(a)):
for j in range(a[i], 0, -1):
if a[i] % j == 0:
print(j, end=' ')
print()
Решето Эратосфена - это ОЧЕНЬ быстрый и эффективный алгоритм. Пользуйтесь Эратосфеном и будет вам счастье :)))))



Конечно, вот пример программы на языке Python, которая выполняет указанную задачу:
pythondef find_numbers_with_four_divisors(start, end):
result = []
for num in range(start, end + 1):
divisors = []
# Поиск делителей числа
for i in range(1, int(num ** 0.5) + 1):
if num % i == 0:
divisors.append(i)
if i != num // i:
divisors.append(num // i)
# Если количество делителей превысило 4, прекращаем поиск
if len(divisors) > 4:
break
# Проверка количества найденных делителей
if len(divisors) == 4:
result.append((num, sorted(divisors, reverse=True)))
return result
start_range = 190201
end_range = 190230
numbers_with_four_divisors = find_numbers_with_four_divisors(start_range, end_range)
for num, divisors in numbers_with_four_divisors:
print(f"Число {num} имеет 4 различных делителя: {', '.join(map(str, divisors))}")
Эта программа определяет функцию find_numbers_with_four_divisors
, которая принимает начало и конец числового отрезка в качестве входных параметров. Она проверяет каждое число в указанном диапазоне и ищет его делители. Если число имеет ровно 4 различных делителя, оно добавляется в список результатов result
.
Затем программа вызывает эту функцию, передавая начало и конец числового отрезка [190201; 190230]
, и сохраняет результаты в переменной numbers_with_four_divisors
.
Наконец, программа выводит результаты, печатая каждое найденное число и его 4 делителя в порядке убывания.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili