1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
1

Прокомментировать код

31.05.2015, 13:52. Показов 1026. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
static const int N = 1000;
 
int main()
  { int i, a[N];
    for (i = 2; i < N; i++) a[i] = 1;
    for (i = 2; i < N; i++)
      if (a[i])
        for (int j = i; j*i < N; j++) a[i*j] = 0;
    for (i = 2; i < N; i++)
      if (a[i]) cout << " " << i;
    cout << endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2015, 13:52
Ответы с готовыми решениями:

Прокомментировать код
Добрый вечер! Есть вопросы по коду... не понимаю некоторые строки. Их выделю розовым цветом. Буду...

Прокомментировать код
Код писал не я, мне бы разобраться что значит та или иная строка. Буду очень благодарен если вы...

Прокомментировать код
Здравствуйте! Пожалуйста, как можно яснее откомментируйте коды программ, очень нужно для понимания,...

Прокомментировать код
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; using namespace std; const int...

5
Просто Лис
Эксперт Python
4407 / 2804 / 929
Регистрация: 17.05.2012
Сообщений: 8,190
Записей в блоге: 9
31.05.2015, 14:12 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> //подключение стандартной библиотеки ввода-вывода
using namespace std; //пространство имён. Чтобы писать "cout << endl;" вместо "std::cout << endl;"
 
static const int N = 1000; //глобальная переменная. В данном случае (слово const) это константа, то есть изменить её значение невозможно. Сразу записываем её значение (1000)
 
int main()//главная функция. Здесь стартует программа.
{ 
int i, a[N]; //переменная i целого типа и целочисленный массив размером 1000
 
for (i = 2; i < N; i++) a[i] = 1; //цикл. Возможно ошибка, потому что нумерация элементов в массиве идёт с нуля, а не с двойки. Идёт инициализация элементов массива с 2 до конца значением "1". В элементах с индексами 0 и 1 находится "мусор", абсолютно случайные значения!!!
 
for (i = 2; i < N; i++){//опять цикл. Поставил скобки.
  if (a[i])
    for (int j = i; j*i < N; j++) a[i*j] = 0;
}
 
for (i = 2; i < N; i++)
if (a[i]) cout << " " << i;
cout << endl;
return 0; //выход из программы
}//конец главной функции
0
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
31.05.2015, 14:20  [ТС] 3
спасибо!!
0
Модератор
Эксперт по электронике
8517 / 6332 / 858
Регистрация: 14.02.2011
Сообщений: 22,020
31.05.2015, 14:28 4
Лучший ответ Сообщение было отмечено Аннaa как решение

Решение

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
for (i = 2; i < N; i++) a[i] = 1; //цикл. Возможно ошибка, потому что нумерация элементов в массиве идёт с нуля,
скорее всего нет
похоже это реализация решета Эратосфена, нахождение всех простых чисел
0 (запись в ячейке) не простое 1 простое
0 и 1(числа) не простые, там нужен 0, но там мусор
0
1 / 1 / 1
Регистрация: 21.10.2013
Сообщений: 115
31.05.2015, 14:32  [ТС] 5
Да, это решето Эратосфена. А объясните метод его? Почему такие числа разные выводятся?
0
Модератор
Эксперт по электронике
8517 / 6332 / 858
Регистрация: 14.02.2011
Сообщений: 22,020
31.05.2015, 14:39 6
Цитата Сообщение от Аннaa Посмотреть сообщение
А объясните метод его?
а почитать?
хотя бы здесь
https://ru.wikipedia.org/wiki/Решето_Эратосфена
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2015, 14:39

Прокомментировать код
помогите понять этот код int main(){ const int PASSWORD_LENGTH=10; const char *...

Прокомментировать код
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void sort(int* m, int n); ...

Прокомментировать код
что означают строчки начиная с int k =-1; #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace...

Прокомментировать код
Прокомментировать код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #define n...


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

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

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