Форум » Обработка целых чисел » 25.6188 У меня получилось на одно число больше » Ответить

25.6188 У меня получилось на одно число больше

ganilova: Найдите все натуральные числа, не превышающие 10^6, кратные 3131, которые имеют ровно три делителя, соответствующих маске 2*5*. Количество делителей, не соответствующих данной маске, может быть любым. В ответе запишите все найденные числа в порядке возрастания, а справа от каждого число – его наибольший делитель, соответствующий маске 2*5*. Моё решение: [pre2]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)[/pre2] Ответ: 234825 2525 475912 237956 576104 288052 626200 25048 760833 253611 779619 259873 801536 25856 951824 237956 На сайте нет первого числа, почему?

Ответов - 2

Aleksey6819: ganilova пишет: На сайте нет первого числа, почему? Число: 234825 Делители: 25, 2325, 2525, 234825 Делителей соответствующих маске не 3, а 4.

ganilova: Спасибо!



полная версия страницы