Форум » Массивы, сортировка, работа с файлами » Задание 25 Вариант 16 » Ответить

Задание 25 Вариант 16

vlkv: Добрый день! (№ 2577) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [1820348; 2880927], числа, имеющие ровно 5 различных делителей. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке возрастания. [pre2] 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)[/pre2]Получается очень большое количество подходящих чисел, так только на отрезке 1820348 - 1820370 их 6: 403 1820351 15 1820355 1189 1820359 1013 1820361 934 1820366 27 1820367 Что не так? Делителями считаем 1 и само число. В ответе только 2 подходящих числа

Ответов - 1

Поляков: vlkv пишет: if n == 3: Это условие означает "ровно три делителя, не превышающих квадратного корня из i". То есть, делителей может быть и 5, и 6.



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