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

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

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

Здравствуйте. Хотелось бы узнать, каким образом я могу оценить сложность этого алгоритма, можно ли его сделать менее трудоемким для компьютера. Спасибо.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #define LIM 1000
  4. int main(void)
  5. {
  6. int num, divisor, i, j, k = 0;;
  7. _Bool prime = true;
  8. int mass[LIM];
  9. printf("Введите число\n");
  10. scanf("%d", &num);
  11. for(divisor = 1, k = 0; divisor <= 3; ++ divisor)
  12. {
  13. if(num > divisor)
  14. {
  15. mass[k] = divisor;
  16. ++k;
  17. }
  18. }
  19. for(divisor = 4; divisor <= num; ++divisor)
  20. { for(j = 2; j < divisor/2; ++j)
  21. {
  22. if(divisor % j == 0)
  23. {
  24. prime = false;
  25. break;
  26. }
  27. else
  28. {
  29. prime = true;
  30. }
  31. }
  32.  
  33. if(prime == true)
  34. {
  35. mass[k] = divisor;
  36. ++k;
  37. }
  38. }
  39. for(i = 0; i < k; ++i)
  40. {
  41. printf("%d\n", mass[i]);
  42. }
  43. }

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

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

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


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

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

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы