Форум » Обработка целых чисел » Помогите решить задачу » Ответить

Помогите решить задачу

vasilisk: Сама задача: Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Например, у числа 6 есть два нетривиальных делителя: 2 и 3. Найдите все натуральные числа, принадлежащие отрезку [123456789; 223456789] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе его наибольший нетривиальный делитель. Ответы расположите в порядке возрастания. Моё решение: [pre2] a=[] for x in range(123456789,223456790): k=0 for i in range(2,111728400): if x%i==0: k+=1 if k>3: break a.append(i) if k==3: print(a[-1]) a.clear()[/pre2] Проблема заключается в том, что программа ничего не выводит.

Ответов - 1

Поляков: vasilisk пишет: Проблема заключается в том, что программа ничего не выводит. Нужно искать другой алгоритм. Этот очень долго считает, не дождетесь на таких числах.



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