Я предполагаю, что самый быстрый всех способов - это жестко кодировать простые числа в вашем коде.
Итак, почему бы просто не написать медленный скрипт, который генерирует другой исходный файл, который имеет все номера в нем, а затем импортирует этот исходный файл при запуске вашей реальной программы.
Конечно, это работает, только если вы знаете верхнюю границу N во время компиляции, но, таким образом, это так для (почти) всех проектных задач Эйлера.
& nbsp;
PS: Возможно, я ошибаюсь, хотя разбор источника с проводными штрихами медленнее, чем вычисление их в первую очередь, но насколько я знаю Python запускается из скомпилированных файлов .pyc
, поэтому чтение двоичного массива со всеми штрихами до N должно быть быстрым в этом случае.