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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
#1

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

06.10.2012, 23:38. Просмотров 1830. Ответов 5
Метки нет (Все метки)

Дано число N (2<=N <=10000), найдите и выведите простые числа между 2 и данным N.
Простое число - число, которое может быть разделено ТОЛЬКО на 1 и на себя самого.
Примеры: 2, 13, 17
Намек: Используйте метод Эратосфена. Посмотрите, как это работает ниже на картинке.

на языке оригинала
Give N (2<=N<=10000) number,find and output the prime numbers between 2 and given N.
Prime number is the number that can be divided by 1 and by inself ONLY.
Examples : 2 , 13, 17
Hint: Use the method of Erathosfen.Look how is't work below on the picture.


Выдает ошибку на 7 тесте (незнаю что за тест это онлайн проверка училки (контестер))

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main () {
  int n,i;
  cin>>n;
  for (i=2; i<=n; i++) {
    if ((i%2)!=0 && (i%3)!=0 && (i%5)!=0 && (i%7)!=0 || i==2 || i==3 || i==5 || i==7)
      cout<<i<<' ';
  }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 23:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решето Эратосфена (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SpamBot
13 / 13 / 0
Регистрация: 04.10.2012
Сообщений: 29
06.10.2012, 23:52 #2
На решето Эратосфена этот код не похож. Смотри http://ru.wikipedia.org/wiki/%D0%A0%...B5%D0%BD%D0%B0
0
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
07.10.2012, 00:26  [ТС] #3
Цитата Сообщение от SpamBot Посмотреть сообщение
На решето Эратосфена этот код не похож. Смотри http://ru.wikipedia.org/wiki/%D0%A0%...B5%D0%BD%D0%B0
написал код по алгоритму из вики

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
#include <iostream>
 
using namespace std;
 
int main () {
  int n,i,a[i],p,np;
  cin>>n;
  p=2;
  for (i=2; i<=n; i++) {
    a[i]=i;
  }
  i=0;
  while (p*p<=n) {
         np=p;
         while (p<n) {
               i++;
               if (a[i]==p)
                  a[i]=0;
               p==p+np;
         }
         p=np+1; 
  }
  for (i=2; i<=n; i++) {
      if (a[i]!=0)
      cout<<a[i]<<' ';
      }
}
при компилировании виндовс выдает ошибку и закрывает я даже не успеваю ничего ввести
компилятор: DEV-C++
тока не пишите скачай другой этот норм не робил до этого а так код то хоть правильный проверьте?
0
SpamBot
13 / 13 / 0
Регистрация: 04.10.2012
Сообщений: 29
07.10.2012, 01:04 #4
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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main () {
  int n,i,p,np;
  cin>>n;
  int a[n+1];
  
  for (i=2; i<=n; i++) {
    a[i]=i;
  }
 
  cout << "Prime numbers:" << endl;
 
  for(i = 2;i<=n;i++)
  {
    if(a[i] != 0)
    {
        cout << a[i] << endl;
        for(p = 2 * i; p <= n ; p += i)
        {
            a[p] = 0;
        }
    }
  }
  getchar();
  return 0;
 
}
Работает под Linux, тести под Dev C++
0
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
07.10.2012, 13:36  [ТС] #5
Цитата Сообщение от SpamBot Посмотреть сообщение
Работает под Linux, тести под Dev C++
что за линукс?? не подскажите название самого хорошего компилятора, ну в смысле удобного а то этот глючит и скобки не подсвечиваются изза этого куча ошибок всегда, Visual Studio долго качать..
0
SpamBot
13 / 13 / 0
Регистрация: 04.10.2012
Сообщений: 29
07.10.2012, 15:38 #6
Linux - операционная система.
Но если у тебя Windows, то Dev C++ или Visual Studio - самое оно.
Программа должна работать и там, и там.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 15:38
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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