Вычисление простых чисел до 1000 - C (СИ)

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

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

Листинг программы
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. bool isPrime(int i)
  4. {
  5. bool prime = true;
  6. int count = 2;
  7. while (i!= count)
  8. {
  9. if (i % count == 0)
  10. {
  11. prime = false;
  12. break;
  13. }
  14. else
  15. count++;
  16. }
  17. return prime;
  18. }
  19. main()
  20. {
  21. bool prime=false;
  22. int max=1000;
  23. for (int i = 3; i <= max;++i)
  24. {
  25. isPrime(prime);
  26. if (isPrime == true)
  27. printf("%d\n", i);
  28. }
  29. printf("%d\n", prime);
  30. }
От программы нужен вывод всех первых чисел в интервале от нуля то тысячи ....где косяк ?

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4. bool isPrime(int i);
  5. int main(void)
  6. {
  7.     int max=1000;
  8.     for (int i = 3; i <= max;i++)
  9.     {
  10.       if (isPrime(i))
  11.             printf("%d\n", i);
  12.     }
  13.     return 0;
  14. }
  15.  
  16. bool isPrime(int i)
  17. {
  18.     bool prime = true;
  19.     int count =1 ;
  20.    
  21.     while (count++ <=  i/2)
  22.     {
  23.        
  24.         if (i % count == 0)
  25.         {
  26.             prime = false;
  27.             break;
  28.         }
  29.     }
  30.    
  31.     return prime;
  32. }

Объяснение кода листинга программы

Вывод списка простых чисел до 1000:

  1. Включаем заголовочный файл stdio.h для работы с выводом на экран, а также заголовочный файл stdbool.h для работы с булевыми значениями.
  2. Функция isPrime(int i) проверяет, является ли число i простым числом.
  3. В функции main(void) задаём максимальное значение для переменной max равное 1000.
  4. Запускаем цикл for от 3 до max, включительно.
  5. Для каждого числа i в цикле проверяем, является ли оно простым числом, вызывая функцию isPrime(i).
  6. Если число i является простым, выводим его на экран с помощью функции printf.
  7. В функции isPrime(int i) инициализируем переменную prime значением true, что означает, что число i является простым.
  8. Задаём счётчик count равным 1 и запускаем цикл while, который будет проверять деление числа i на все числа от 2 до i/2.
  9. Если число i делится без остатка на какое-либо число из этого диапазона, то число i не является простым, и мы меняем значение переменной prime на false и выходим из цикла с помощью оператора break.
  10. Возвращаем значение переменной prime, которая определяет, является ли число i простым.
  11. В функции main(void) после выполнения цикла выводим на экран список простых чисел до 1000.
  12. Завершаем программу в функции main(void) и возвращаем 0, что означает успешное выполнение программы.

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


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

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

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

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

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

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