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

простые числа до миллиарда - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объясните алгоритм нахождения детерминанта матрицы http://www.cyberforum.ru/cpp-beginners/thread722333.html
Есть алгоритм нахождения детерминанта матрицы. не могу выяснить окончательно как работает алгоритм. заранее спасибо за помощь! #include <iostream> #include <cmath> double determ(int** Arr, int size); int main() { int size=5;
C++ Работа с итерационными выражениями Не могу разобраться с данной задачей... #include <stdio.h> float f(float x, int i) { return pow(x, i) >0.1 ? 0 : 500*(0.1-pow(x, i)); } int main() http://www.cyberforum.ru/cpp-beginners/thread722326.html
Расчет по двум формулам C++
Помогите пожалуйста с решением задач: №1
C++ Метод класса строки
//Длина L кратна 4-м, то выделяется подстрока после последнего пробела; void String::run() { unsigned int i=0, j=0; char *ss; ss = new char ; ss='\0'; if(fmod(strlen(str),4)==0) {
C++ Цикл http://www.cyberforum.ru/cpp-beginners/thread722292.html
Здравствуйте! Такой вопрос как организовать цикл который бы делал так: есть массив 00000 00000 00200 00000 00000
C++ наследование классов (создать vector, в котором будут находиться элементы классов) есть class defender class forvard : public defender class goalie : public defender мне нужно создать vector ,в котором будут находиться элементы этих классов,vector<тип> players,какой писать тип? defender? или defender*? еще в каждом классе есть конструктор, goalie(string sn,string pos,int t,int ts,int h,int g):defender(sn, pos,t,ts),hits(h),goals(g){}; подробнее

Показать сообщение отдельно
NoMasters
Псевдослучайный
1740 / 1083 / 70
Регистрация: 13.09.2011
Сообщений: 3,102
07.12.2012, 01:57     простые числа до миллиарда
У меня тут как раз завалялось в загашниках... Принимает потолок расчёта и место, куда положить указатель на полученный массив, возвращает количество найденных чисел. На моём унылом ноутбучном кордвадубе расчёт до миллиона проходит за две минуты.
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
int prime(int max, int **out_arr)
{
    int i, t, l_alive, f_alive, count;
    int *p_arr;
    int *all;
    
    all = malloc((max + 2) * sizeof(int));
    
    for(i = 1; i <= max + 1; ++i)
    {
        all[i] = i + 1;
    }
    
    count = 0;
    t = 1 + 1;
    l_alive = 2;
    f_alive = 2;
    while(t <= max)
    {
        i = t + 1;
        while(i <= max)
        {
            if(i % t)
                l_alive = i;
            else
                all[l_alive] = all[i];
            i = all[l_alive];
        }
        t = all[f_alive];
        f_alive = t;
        ++count;
    }
    p_arr = malloc(sizeof(int) * count);
    t = 2;
    for(i = 0; i < count; ++i)
    {
        p_arr[i] =  t;
        t = all[t];
    }
    free(all);
    *out_arr = p_arr;
    return count;
}
 
Текущее время: 03:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru