Автор | Сообщение |
|
Отправлено: 15.02.21 21:49. Заголовок: Задание 25 Вариант 16
Добрый день! (№ 2577) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [1820348; 2880927], числа, имеющие ровно 5 различных делителей. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания. m1 = 1820348 #m2 = 2880927 m2 = 1820370 a = [] for i in range(m1, m2+1): n = 0 a.clear() k = round(i**0.5) for j in range(2, k): if i%j == 0: a.append(j) n +=1 if n == 3: print(a[2], i) Получается очень большое количество подходящих чисел, так только на отрезке 1820348 - 1820370 их 6: 403 1820351 15 1820355 1189 1820359 1013 1820361 934 1820366 27 1820367 Что не так? Делителями считаем 1 и само число. В ответе только 2 подходящих числа
|
|
|
Ответов - 1
[только новые]
|
|
|
| Администратор
|
Сообщение: 2479
|
|
Отправлено: 20.02.21 18:54. Заголовок: vlkv пишет: if n == ..
vlkv пишет: Это условие означает "ровно три делителя, не превышающих квадратного корня из i". То есть, делителей может быть и 5, и 6.
|
|
|