Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458

Объяснить работу программы (нахождение простых чисел, решето Эратосфена)

29.08.2016, 14:20. Показов 1757. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поясните как работает эта прога а именно :
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
#include <iostream> 
#include <conio.h>
 
using namespace std;
 
int main() 
{
    setlocale(LC_ALL,"Russian");
 
    cout<<"     Простые числа  "<<endl;
 
    const int N=15;
 
    bool Simplenumber[N+1];
 
    for(int i=2; i <= N+1; i++)
        Simplenumber[i]=true;
 
    for(int i=2; i <= N; i++)
    {
        if(Simplenumber[i])
        {
            for(int j=i*i; j <= N+1; j += i)
                Simplenumber[j]=false;
        }
    }
 
    for(int i=2; i < N+1; i++)
        if(Simplenumber[i])
            cout << i << endl;
 
    _getch();
    //system("pause");
    return 0;
}
Строки (23-24).
j=i*i; почему 'i' умножается на 'i'?
для чего j += i ?

Прога выявляет НЕ простые числа из массива и отбрасывает их, записывая только простые.
Но неясности остаются

Поясните как тут оно устроено.

Заранее благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2016, 14:20
Ответы с готовыми решениями:

Определить количество простых чисел, меньших N, используя решето Эратосфена
Дан код: #include &lt;iostream&gt; using namespace std; static const int N = 1000; int main() { int i, a; for (i = 2; i &lt; N; i++)...

Нахождение простых чисел решетом Эратосфена
Мне нужно сделать с &quot;графикой&quot;, т.е чтобы программа выводила все введенные числа, потом зачеркивала не простые, которые были использованы и...

Нахождение первых пятиста простых чисел через решето Эратосфена
На языке си

12
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.08.2016, 14:27
Лобовая реализация решета Эратосфена
1
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
29.08.2016, 14:48  [ТС]
Эту прогу я в ютюбе подсмотрел, так вот там говорилось что этот способ вычисления простых чисел предложил Эратосфен но меня интересует сам КОД как он действует в указанных Выше местах, неясно мне
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.08.2016, 14:53
А кот действует как написано Сказано - умножить i на i - умножает. Чтобы было ясно - разберитесь с алгоритмом Эратосфена, и посмотрите на кот. А лучше напишите своего по алгоритму и сравните с найденным.
0
 Аватар для Martein
704 / 109 / 21
Регистрация: 22.06.2014
Сообщений: 241
29.08.2016, 14:54
Эта прога число 4294967297 определяет как простое или непростое?
0
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
29.08.2016, 15:30  [ТС]
С этим j += i вроде всё ясно НО по прежнему не понимаю почему " i " умножается на " i " поясните мне.
Расскажите как и почему на примере.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.08.2016, 15:35
Цитата Сообщение от Maxim09 Посмотреть сообщение
НО по прежнему не понимаю почему
SHOCKING BLUE, "Wild Wind":
Tell me why the wind blows,
Tell me why the grass grows,
Tell me why the light burns
And our world turns.
Wild wind, tell me why we were born?
Wild wind, tell me why shall we die?
0
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
29.08.2016, 15:47  [ТС]
А можно чуточку серьёзней отнестись к моей просьбе, меня интересует почему 'i' умножается на 'i'
что в результате (i*i) получается и для чего?
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
29.08.2016, 15:57
т.е хотелось бы j=i*2? , но все остальные i*(i-n) уже были "закрыты" этими i-n "предшественниками"
1
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.08.2016, 16:00
Куда уж серьезнее. Я вам про экзистенциальные вопросы бытия, про жизнь и смерть, про поиски смысла, а вы про какие-то простые числа...
1
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
29.08.2016, 16:12  [ТС]
Большая часть проги мне понятна я и с Решетом Эратосфена ознакомился НО j=i*i;
остаётся загадкой за семью печатями...

Добавлено через 5 минут
_Ivana, Я вам благодарен НО лучше бы вы мне помогли с прогой.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.08.2016, 19:20
Цитата Сообщение от Maxim09 Посмотреть сообщение
с Решетом Эратосфена ознакомился НО j=i*i;
остаётся загадкой за семью печатями..
Математику надо было в школе учить. Все числа, кратные i и меньшие, чем i*i были вычеркнуты раньше.
0
 Аватар для Maxim09
1 / 1 / 4
Регистрация: 23.08.2015
Сообщений: 458
29.08.2016, 19:45  [ТС]
zer0mail,

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2016, 19:45
Помогаю со студенческими работами здесь

Решето Эратосфена: вернуть список простых чисел на заданном интервале
Помогите реализовать функцию. Создать функцию, которая принимает два параметра - два числа, и возвращает массив простых чисел в этом...

Вложеные циклы.Составить программу вывода на экран простых чисел из первых N натуральных чисел используя решето Эратосфена.
Составить программу вывода на экран простых чисел из первых N натуральных чисел используя решето Эратосфена. Решить задачу с...

Решето Эратосфена. Добавить ручной ввод количества простых чисел и вывод итога в файл
Помогите добавить возможность ручного ввода исходного количества используемых чисел (а то у меня программа автоматически использует только...

Алгоритмом Решето Эратосфена найти четвёрки меньших N простых чисел, принадлежащих одному десятку
Здравствуйте. Условие задачи в названии темы. Здесь, на форуме, нашлось вот такое решение (автор - volvo) const N = 2000; ...

С помощью алгоритма Решето Эратосфена найти четвёрки меньших N простых чисел, принадлежащих одному десятку
Условие задачи:дано натуральное число N. С помощью алгоритма &quot;решето Эратосфена&quot;(Сначала вычёркивают все числа,делящиеся на 2,исключая...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru