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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылетает программа при удалении элемента вектора http://www.cyberforum.ru/cpp-beginners/thread750692.html
Всех с новым годом, уважаемые киберфорумцы! Сделал я на днях класс Button, который, как и положено, представляет из себя кнопку (работаю с библиотекой SDL). Класс примерно вот такой: class Button { private: SDL_Rect Box; SDL_Surface* Image; //according ButtonState bool IsActive; int ButtonState; //0 - not active, 1 - active, 2 - mouse is over, 3 - pressed
C++ Ошибка библиотеки в коде программы?:) Всем привет. Вот этот код компилируется без ошибок и все работает #include <windows.h> #include <gl\GLU.h> #include <gl\GL.h> #include <time.h> #include <math.h> #include "glaux.h" #include <cstdio> #pragma comment (lib,"opengl32.lib") 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. Сам я эти фичи написать не могу, т.к. не знаю, как они делаются, да и зачем изобретать велосипед. Ради каких-то нескольких функций наследовать класс B не хочу. Что можете посоветовать? Может хитрости какие есть? Знаю...
C++ Проблемы при вызове деструктора В процессе работы программы указатель на класс Dictionary,который является членом класса DictionaryManager,должен указывать на разные объекты класса Dictionary и вот когда мне нужно удалить память выделенную для старого объекта и выделить для нового,возникают проблемы Так я удаляю выделенную память // if(CurrentDict == NULL) CurrentDict = new Dictionary(ListOfFiles.at(choise - 1));... подробнее

Показать сообщение отдельно
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.01.2013, 22:52
Есть менее обфусцированный(просто отформатирован код, переименована часть переменных, добавлены комменты).
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//@shadeware
#include <cstdio>
#include <vector>
#include <cmath>
 
unsigned  i, n, sq, j, left;
long long u[66], answer;
 
int main()
{
    //расшифровка предподсчета
    for ( ; i < 64 * 7; i++)
    {
        u[i / 7 + 2] = u[i / 7 + 2] * 96 + "+.Uy[e^4MAqc>,3Vq8a}n3-teC`p2r/)Fl[2Z)|>Ke2O~7<Co2:Q]dpI23fM5~22\'X S\'}2\"z;})81lu^+vx1s sc[U1g%Wzq+1s3 ?1[1HQoI$^1TH2EaX1cEzV,Z1CHMY7o1DHmqPA1D#4oe]1F&|\'F^1R`5\'k)0{z2\\Oc1<T/G)x10BVH)~1B,ZzW:1)>FZ%$1+[%c\"<0dAd/tP1->\"0M!1;JwZ6!1*%j_y00V6$w!u10I dHR1PXF]r20!?Xhxw1?nbdEr0e-/ZE_0s:6:z.0[}+qG51<y9WfF0.^#nCQ0s)I(d/0XfrAQB10^,7e?0^X\'W4 13M.MfL0"
            "5Q2Oz50fxnC)E0V@NGo+0=Z?sS/0I_*[l0\\W)O u1pw[AYJ/A?Xk;g0rbiYbu1*{Pj>f0\'\"aEs60OP;ZHs0zsjvXg0:~BPSu/aWY+&F1_aM,<q"[i] - 32;
    }
    for (i = 0; i < 64; i++)
    {
        u[i + 2] += 2 * u[i + 1] - u[i];
    }
 
    scanf("%u", &n);
    sq = sqrt(n) + 1e-7;
    left = n >> 24 << 24;
    answer = u[(n >> 24) + 1] + 2 * !left * (n > 1);
 
    std::vector<bool> sieve(sq / 2 + 1), B(n - left + 2);
    B[1] = !left;
 
    //блочное решето
    for (i = 3; i <= sq; i += 2)
    {
        if (!sieve[i / 2])
        {
            //просеивание до корня
            for (j = 3 * i; j <= sq; j += 2 * i)
            {
                sieve[j / 2] = 1;
            }
 
            //просеивание блока
            for (j = left ? (left + i - 1) / i * i : 2 * i; j <= n; j += i)
            {
                B[j - left] = 1;
            }
        }
    }
 
    //подсчет ответа
    for (i = 1; i + left <= n; i += 2)
    {
        B[i] ? 0 : answer += i + left;
    }
 
    printf("%llu\n", answer);
}
В хабракомментариях мой алгоритм уже разжевали, причем еще до того, как я заметил топик с результатами.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru