Форум программистов, компьютерный форум 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...
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++ Упрощение логического выражения Всем привет. Сейчас решаю задачу про шахматного коня по книжке Дейтелов. Там предлагается высчитать доступность каждой клетки и двигать коня туда, где доступность наименьшая. Чтобы ее рассчитать,... подробнее

Показать сообщение отдельно
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.07.2013, 08:34
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
  if (n==1 || n==2 || n==3) return 1;

Не по теме:

1 - не простое число



Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
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)
такая оптимизация почти не заметна при тестировании чисел, скажем, от 1 до 10 000 000, выигрыш - сотые доли секунды. А вот если уменьшить количество лишних проверок, то можно скорость в разы увеличить.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru