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

resheto-jeratosfena-9131899

Несколько месяцев назад писал решето Эратосфена на C++. Это алгоритм нахождения всех простых чисел. Если Вы начинаете изучать C++, то наверняка столкнулись или еще столкнетесь с этим алгоритмом. Это отличное задание при изучении языка.

Решил выложить, может кому-то пригодится. Я сам только учусь, так что какашками не бросаться, если что-то не так simple-smile-2494463

Вот собственно код:

// Программа Решето Эратосфена

#include "stdafx.h"
#include 

#define KIT 100

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
        int AR[KIT];

        //Записывает в массив длиной KIT значения от 0 до KIT
        for (int i = 0; i < KIT; i++)
        {
                AR[i] = i;
        }

        AR[1] = 0;

        int p = AR[2];
        int exitcycle = 1;

        while (exitcycle != 0)
        {//Вход в цикл while

                //Обнуляем в массиве числа от 2р до KIT считая шагами по р (числа кратные р)
                for (int i = 2 * p; i < KIT; i = i + p)
                {
                        AR[i] = 0;
                }

                //Ищем число в массиве, которое не равно 0 и больше нынешнего р и присваевем р это значение
                for (int i = 2; i < KIT; i++)
                {
                        if (AR[i] > p)
                        {
                                exitcycle = 1;
                                p = AR[i];
                                break;
                        }
                        
                        else
                        {
                                exitcycle = 0;
                        }
                }

        }

        //Вывод простых чисел
        for (int i = 0; i < KIT; i++)
        {
                if (AR[i] != 0)
                {
                        cout

Вам также может понравиться

About the Author: recordadmin