Автор | Сообщение |
|
Отправлено: 11.02.21 15:20. Заголовок: Помогите решить задачу
Сама задача: Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Например, у числа 6 есть два нетривиальных делителя: 2 и 3. Найдите все натуральные числа, принадлежащие отрезку [123456789; 223456789] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе его наибольший нетривиальный делитель. Ответы расположите в порядке возрастания. Моё решение: 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() Проблема заключается в том, что программа ничего не выводит.
|
|
|
Ответов - 1
[только новые]
|
|
|
| Администратор
|
Сообщение: 2433
|
|
Отправлено: 11.02.21 21:05. Заголовок: vasilisk пишет: Проб..
vasilisk пишет: цитата: | Проблема заключается в том, что программа ничего не выводит. |
|
Нужно искать другой алгоритм. Этот очень долго считает, не дождетесь на таких числах.
|
|
|