Программирование на C и C++

Онлайн справочник программиста на C и C++

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

Аватар пользователя merkul40
ср, 11/15/2017 - 22:38 -- merkul40

Сабж - метод нахождения простых чисел при помощи массива.
Решение задачи:

#include<stdio.h>
#include<stdlib.h>

#define         NUMBER  1000            // Размер массива

void printing(int mas[NUMBER]);
int determination(void);
int Mass[NUMBER];

int main ()
{
        determination();
       
        for (int i = 2; i < NUMBER; i++)
        {
                for (int j = 2; j * j <= i; j++)
                {
                        if (i % j == 0)
                        {
                                Mass [i] = 0;
                                //printf("%d\t%d\n\n", j, Mass [j]);
                                break;
                                }
                        }
                       
                }
       
        printing(Mass);
        }

int determination(void)//функция присвоения значений массиву
{
        for (int i = 0; i < NUMBER; i++)
        {
                Mass [i] = 1;
                }
       
        }

void printing(int mas[NUMBER])
{
        for (int i = 2; i < NUMBER; i++)
        {
                if (mas[i] == 1)
                {
                        printf("%d\t%d\n", i , mas[i]);
                        }
                }
        }
>