До мильена за несколько секунд вы сгенерируете на лету сами.
Но разложение любого числа до миллиона на множители алгоритмом из вопроса - это будет доли секунды. Поэтому тратить в сотни раз больше времени на расчет простых чисел, чтобы потом чуть быстрее разложить само число, нет никакого смысла. Даже если ограничиться только певрой сотней простых.
Поэтому я еще раз повторю: для разложения одного числа - быстрее метода нет (если не считать всякие микрооптимизации кода из вопроса для выигрыша 10-20%). Если чисел много, то уже появится смысл какие-то предподсчеты делать и решето из моего ответа тут будет самым эффективным методом.
Akina, по идее, надо считать и время рассчета этих простых чисел. Но даже если нет, то время их загрузки с диска будет все равно дольше метода в вопросе.
Это имеет смысл, когда вам надо много чисел раскладывать на множители. Тогда расчет/загрузка простых размажется по всем запросам.
Определил внутреннюю область (точку) многоугольника, которую "видят" как можно больше граней. Это - точка, в которой можно построить наибольшую по площади фигуру
QWERTYUIOPas, Ну, сочувствую. Но, поскольку мне их не видно, помочь ничем не могу. Скорее всего надо пути к инклудам прописать. Конечно, быстрее будет включить вижуал студию, создать консольный проект, добавить ваши cpp/h файлы и тогда все само должно быть найдено.
Выдает ошибку? Какую? Что значит "сократить"? Сделать код короче, не меняя его смысл?
Что значат цвета в таблице? Опишите словами, что код должен делать.
QWERTYUIOPas, Если он у вас стоит, то просто вместо g++.exe запускайте cl.exe из папки с visual studio. Возможно придется погуглить ключи компилятора, если не заработает..