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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
#1

Решето Эратосфена - C++

23.03.2013, 12:26. Просмотров 2095. Ответов 20

Кому надо - программа "Решето Эратосфена" на C++. Записывает в файл 1 000 000 первых простых чисел за 1/10 секунды (без вывода)!!!

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
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
int main() {
    const int N = 1000000;
    vector<bool>simple(N, true);
    ofstream f("simple.txt");
    for(int i = 2; i * i <= N; ++i) {
        if(simple[i] == true) {
            for(int j = i * i; j < N; j += i) {
                //cout << j << " ";
                simple[j] = false;
            }
        }
    }
 
    for(int i = 2; i < N; ++i) {
        if(simple[i] == true) {
            f << i << endl;
        }
    }
 
 
 
    cout << "Completed!";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 12:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решето Эратосфена (C++):

Решето Эратосфена - C++
Возможно ли найти простые числа методом решета Эратосфена с помощью вектора за один проход? Добавлено через 1 минуту У меня...

Решето Эратосфена - C++
Простое число — это любое целое число, которое точно делится без остатка только само на себя и на 1. Решето Эратосфена — это способ...

Решето Эратосфена - C++
Как можно реализовать? Подскажите плиз

Решето Эратосфена - C++
В решете эратосфена из книги в условии есть непонятная вещь: if (i * 1ll * i &lt;= n) - возле единицы для непонятных знака, на форуме они...

Решето Эратосфена - C++
Дано число N (2&lt;=N &lt;=10000), найдите и выведите простые числа между 2 и данным N. Простое число - число, которое может быть разделено...

Решето Эратосфена - C++
В общем задание посчитать количество простых чисел до заданного числа N. Написал такой алгоритм, работает только до 11 :cry: Уже час не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
24.03.2013, 10:39  [ТС] #16
salam, быстрый вывод??? Он не может быстрее выводится, чем консоль позволяет
Somebody
2788 / 1602 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
24.03.2013, 10:46 #17
Цитата Сообщение от diagon Посмотреть сообщение
Для 10^8 писал когда-то такое
Что-то не пойму, что в output.txt...
2 547 1229 1993 2749
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.03.2013, 10:49 #18
Цитата Сообщение от Somebody Посмотреть сообщение
Что-то не пойму, что в output.txt...
Там выводится каждое число, номер которого % 100 == 1
Писалось под эту задачу - http://www.spoj.com/problems/TDPRIMES/
То есть надо закомментить 137 строку и в 95 строке заменить i += 100 на ++i
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 727
24.03.2013, 10:53 #19
понятно...
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
24.03.2013, 16:56  [ТС] #20
Актуальна

Добавлено через 3 часа 18 минут
Актуальна
Zadr
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
09.12.2015, 09:46 #21
как с этим кодом можно найти отрезок простых чисел от n до m
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2015, 09:46
Привет! Вот еще темы с ответами:

Решето Эратосфена - C++
Здравствуйте. Реализовал алгоритм &quot;Решето Эратосфена&quot; в виде класса. Взгляните, пожалуйста, и скажите, где я не прав. Спасибо. ...

Решето Эратосфена - C++
Подскажите реализацию (код) метода шифрования - решета Эратосфена, пожалуйста.

Решето Эратосфена - C++
Написать функция для выполнения алгоритма решить Эратосфена! зарания спасибо!!!

Решето Эратосфена - C++
Определить простые числа методом просеивания с помощью &lt;&lt;решета Эратосфена&gt;&gt; с _битовой упаковкой_ данных при сохранении. #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.12.2015, 09:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru