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