Поиск простых чисел - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д