0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 5
1

Решето Эратосфена

13.01.2013, 17:47. Показов 2892. Ответов 4
Метки нет (Все метки)

В общем задание посчитать количество простых чисел до заданного числа N.
Написал такой алгоритм, работает только до 11 Уже час не могу понять почему....
Подскажите пожалуйста что не так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,i,j,k;
    bool a[20001];
    cin>>n;
    a[1]=false;
    k=n-1;
    for (i=2;i<=n;i++)
    a[i]=true;
    for (i=2;i*i<=n;i++)
        if (a[i]=true)
            for (j=i*i;j<=n;j=j+i)
                if (a[j]=true)
                {a[j]=false;
                k--;};
    cout<<k;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2013, 17:47
Ответы с готовыми решениями:

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

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

Решето Эратосфена
Возможно ли найти простые числа методом решета Эратосфена с помощью вектора за один проход? ...

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

4
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 17:57 2
в чем смысл алгоритма? я чот не понял вы просто берете и n-2 элементам массива bool присваиваете true а потом смотрите что если у них у всех true тогда меняем на false и уменьшаем k в чем смысл, не проще было просто посмотреть на форуме как найти простое число и заполнить массив таким образом?
0
176 / 144 / 70
Регистрация: 01.05.2012
Сообщений: 414
13.01.2013, 18:08 3
Ошибка у вас глупая)
Оператор сравнения записан не правильно!
вместо
C++
1
if (a[j]=true)
надо
C++
1
if (a[j]==true)
ну а так алгоритм вроде правильный!
2
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 5
13.01.2013, 18:11  [ТС] 4
спасибо большое) и вправду глупая) вы спасли часа 4 моей жизни)
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
13.01.2013, 18:25 5
я чот не очень понял как работает ваш алгоритм можете мне объяснить?

Добавлено через 5 минут
а хотя нашел псевдо код на википедии не надо спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2013, 18:25
Помогаю со студенческими работами здесь

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

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

Решето Эратосфена
Кому надо - программа &quot;Решето Эратосфена&quot; на C++. Записывает в файл 1 000 000 первых простых чисел...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru