Поиск простых чисел - C (СИ) (69584)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Хотелось бы узнать, каким образом я могу оценить сложность этого алгоритма, можно ли его сделать менее трудоемким для компьютера. Спасибо.
#include <stdio.h>
#include <stdbool.h>
#define LIM 1000
 
int main(void)
{
    int num, divisor, i, j, k = 0;;
    _Bool prime = true;
    int mass[LIM];
 
    printf("Введите число\n");
    scanf("%d", &num);
 
    for(divisor = 1, k = 0; divisor <= 3; ++ divisor)
    {
        if(num > divisor)
        {
            mass[k] = divisor;
            ++k;
        }
    }
 
    for(divisor = 4; divisor <= num; ++divisor)
    {   for(j = 2; j < divisor/2; ++j)
        {
            if(divisor % j == 0)
            {
                prime = false;
                break;
            }
            else
            {
                prime = true;
            }
        }

        if(prime == true)
        {
            mass[k] = divisor;
            ++k;
        }
        
    }
    for(i = 0; i < k; ++i)
    {
        printf("%d\n", mass[i]);
    }   
}

Решение задачи: «Поиск простых чисел»

textual
Листинг программы
for(j = 2; j*j <= divisor; ++j)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы