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

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

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

#include <stdio.h>
#include <stdbool.h>
bool isPrime(int i)
{
    bool prime = true;
    int count = 2;
    while (i!= count)
    {
        if (i % count == 0)
        {
            prime = false;
            break;
        
        }
        else
            count++;
    }
    return prime;
}
main()
{
    bool prime=false;
    int max=1000;
    for (int i = 3; i <= max;++i)
    {
        isPrime(prime);
        if (isPrime == true)
            printf("%d\n", i);
    }
    printf("%d\n", prime);
}
От программы нужен вывод всех первых чисел в интервале от нуля то тысячи ....где косяк ?

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

textual
Листинг программы
#include <stdio.h>
#include <stdbool.h>
 
bool isPrime(int i);
int main(void)
{
    int max=1000;
    for (int i = 3; i <= max;i++)
    {
      if (isPrime(i))
            printf("%d\n", i);
    }
    return 0;
}
 
bool isPrime(int i)
{
    bool prime = true;
    int count =1 ;
    
    while (count++ <=  i/2)
    {
        
        if (i % count == 0)
        {
            prime = false;
            break;
        }
    }
    
    return prime;
}

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

Вывод списка простых чисел до 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
Похожие ответы