Автор | Сообщение |
|
Отправлено: 20.04.23 18:03. Заголовок: 25.6188 У меня получилось на одно число больше
Найдите все натуральные числа, не превышающие 10^6, кратные 3131, которые имеют ровно три делителя, соответствующих маске 2*5*. Количество делителей, не соответствующих данной маске, может быть любым. В ответе запишите все найденные числа в порядке возрастания, а справа от каждого число – его наибольший делитель, соответствующий маске 2*5*. Моё решение: from fnmatch import fnmatch ans = [] for x in range(3131, 10**6 + 1, 3131): p = set() for d in range(2, int(x ** 0.5) + 1): if x % d == 0: if fnmatch(str(d), '2*5*'): p.add(d) if fnmatch(str(x//d), '2*5*'): p.add(x//d) if len(p) == 3: ans.append([x, max(p)]) for x in sorted(ans): print(*x) Ответ: 234825 2525 475912 237956 576104 288052 626200 25048 760833 253611 779619 259873 801536 25856 951824 237956 На сайте нет первого числа, почему?
|
|
|
Ответов - 2
[только новые]
|
|
|
Отправлено: 20.04.23 21:21. Заголовок: ganilova пишет: На ..
ganilova пишет: цитата: | На сайте нет первого числа, почему? |
| Число: 234825 Делители: 25, 2325, 2525, 234825 Делителей соответствующих маске не 3, а 4.
|
|
|
|
Отправлено: 23.04.23 13:39. Заголовок: Спасибо!..
Спасибо!
|
|
|
|