Форум программистов, компьютерный форум CyberForum.ru

Алгоритм нахождения простых чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Включить в программу только одну ф-цию из библиотеки http://www.cyberforum.ru/cpp-beginners/thread926539.html
Из библиотеки boost я могу выбрать одну нужную мне ф-ию (boost/algorithm/cxx11/all_of.hpp), можно ли это сделать с std::all_of (как пример) // all_of example #include <iostream> // std::cout #include <algorithm> // std::all_of #include <array> // std::array #include <boost/algorithm/cxx11/all_of.hpp> using namespace boost::algorithm; bool isOdd ( int i ) { return i%2; }
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты? Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты? http://www.cyberforum.ru/cpp-beginners/thread926534.html
Обьясните понятие как работает Операция языка C++
Простите пожалуста, если я не видел аналогичной темы. Вот Операции сдвига ( « и » ) применяются к целочисленным операндам. Они сдвигают двоичное представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом. При сдвиге влево ( « ) освободившиеся разряды обнуляются. При сдвиге вправо (>) освободившиеся биты заполняются нулями, если...
C++ Почему в switch нельзя определять переменные?
int main() { setlocale(LC_ALL, "Russian"); int n; std::cout << "Введите число: "; std::cin >> n; switch (n)
C++ Проясните освобождение памяти http://www.cyberforum.ru/cpp-beginners/thread926507.html
Допустим есть такой код: typedef struct COORDINATE { QVector<int> x; QVector<int> y; QVector<int> z; } Coordinate; public: void SaveCoord();
C++ Упрощение логического выражения Всем привет. Сейчас решаю задачу про шахматного коня по книжке Дейтелов. Там предлагается высчитать доступность каждой клетки и двигать коня туда, где доступность наименьшая. Чтобы ее рассчитать, надо, грубо говоря, из каждой клетки походить конём. Идея, как считать доступность уже есть, выглядит она примерно так (тут как минимум нет проверки границы массива): //board - двумерный массив,... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.07.2013, 17:44     Алгоритм нахождения простых чисел
Цитата Сообщение от salam Посмотреть сообщение
как вы предлагаете это оптимизировать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int i = 3; i*i <= n; i += 2)
 
||
\/
 
for (int i = 3, i_sq = 9; i_sq <= n; i_sq += (i + 1) << 2, i += 2)
 
||
\/
 
int n_sqrt = sqrt(n);
for (int i = 3; i <= n_sqrt; i += 2)
НИКОГДА НЕ ДОВЕРЯЙ КОМПИЛЯТОРУ! ВСЁ НАДО ОПТИМИЗИРОВАТЬ РУКАМИ! SSE-ИНСТРУКЦИЙ ТОЖЕ НЕ СУЩЕСТВУЕТ!

Извините.

Цитата Сообщение от salam Посмотреть сообщение
потому же, почему никто не посоветовал сделать прекалк на первый миллиард чисел.
Миллиард это много. А вот первые 6000 вполне влезут в кеш.
 
Текущее время: 01:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru