Форум » Обработка целых чисел » Не сходится ответ на задание 25, вариант 11 » Ответить

Не сходится ответ на задание 25, вариант 11

Roman_Fed: (№ 2572) (А.Н. Носкин) Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [190201; 190260], числа, имеющие ровно 4 различных ЧЁТНЫХ делителя. В ответе для каждого найденного числа запишите два его наибольших делителя в порядке убывания. Моё решение: [pre2]for n in range(190201, 190261): dell = [] count = 0 q = round(n**0.5) if q*q == n: dell.append(q) for i in range(1, q): if n % i == 0: if i % 2 == 0: count += 1 if (n//i) % 2 == 0: count += 1 if count > 4: break dell.append(i) dell.append(n//i) if count == 4: print(*sorted(dell, reverse=True)[:2])[/pre2] Вывод программы: 190226 95113 190234 95117 190238 95119 190252 95126 190258 95129 Ответ в задаче выводит 2 наибольших ЧЕТНЫХ делителей, хотя просят вывести два его наибольших делителя (в независимости от четкости): 190226 838 190234 17294 190238 2606 190252 95126 190258 758 Подскажите в чем ошибка?

Ответов - 1

nikson: Roman_Fed пишет: Подскажите в чем ошибка? Если заметили, то в верном ответе выведены четные числа, а у Вас одно число четное, а второе нечетное. По условию нужно было найти числа, имеющие ровно 4 различных ЧЁТНЫХ делителя и вывести из них два самых наибольших. Возможно это опечатка и пропало слово Четных. Если интересен код (правда там вывод 4х делителей), то эта задача 25.22 в файле решения всех задач 25



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