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

Сумма простых чисел ускорение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылетает программа при удалении элемента вектора http://www.cyberforum.ru/cpp-beginners/thread750692.html
Всех с новым годом, уважаемые киберфорумцы! Сделал я на днях класс Button, который, как и положено, представляет из себя кнопку (работаю с библиотекой SDL). Класс примерно вот такой: class Button...
C++ Ошибка библиотеки в коде программы?:) Всем привет. Вот этот код компилируется без ошибок и все работает #include <windows.h> #include <gl\GLU.h> #include <gl\GL.h> #include <time.h> #include <math.h> #include "glaux.h" #include... http://www.cyberforum.ru/cpp-beginners/thread750688.html
C++ AppWizards
Привет! Создаю приложение MFC в Visual Studio 10, после задания названия будущего приложения меня кидает в браузер (фото 1). Но на странице кнопки не активны. Папка с проектом создается, но не...
C++ Ошибка при компиляции: "Не удается найти указанный файл"
Всех С Новым Годом!!! При компиляции в VS 12 у меня выдает ошибку. Пробовал в VS 10 аналогично. Код #include <iostream> using namespace std;
C++ Увеличение функциональности без использования наследования. Как? http://www.cyberforum.ru/cpp-beginners/thread750645.html
Добрый день. Можно ли как-нибудь еще увеличить функциональность своего класса без использования наследования? Делаю свой класс А, в нем хочу реализовать несколько фич класса B. Сам я эти фичи...
C++ Проблемы при вызове деструктора В процессе работы программы указатель на класс Dictionary,который является членом класса DictionaryManager,должен указывать на разные объекты класса Dictionary и вот когда мне нужно удалить память... подробнее

Показать сообщение отдельно
Bringoff
СуперМодулятор
132 / 131 / 15
Регистрация: 03.11.2012
Сообщений: 974
01.01.2013, 16:52  [ТС]

Не по теме:

Хех, быстро рассекретили...
Почему же только С++? Ужас


Мда, решето Аткина... Хоть намекните, а то в вики примере ничего не пойму.

Добавлено через 43 минуты
Вот вроде что-то такое, но на 2^30 не хватает...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int64_t n, i, j;
int64_t sum=0;
cin >> n;
int64_t *a = new int64_t [n]; // создание массива
for (i = 0; i<n; i++) // и инициализация его всеми единицами
{
 a[i] = 1;
};
for (i = 2; i<n; i++) // цикл прохода по всеми массиву с первого простого числа "2"
{
if (a[i] == 1)
{
for (j = i; j<n; j+=i) // вычеркивание всех чисел кратных данному невычеркнутому
{
 a[j] = 0;
}
 a[i] = 1; // присваивание данному числу значение простого
}
}
int64_t q = 0; // вывод всех простых чисел
for (int64_t i = 2; i<n; i++)
{
if (a[i] == 1)
{
//cout << setw(5) << i << " ";
sum+=i;
 q++;
//if (q % 5 == 0) cout << endl;
}
}
cout<<sum;
delete [] a;
return 0;
}
Добавлено через 36 минут
100000000 делает спокойно, миллиард вызывает ошибку. Почему?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru