Функцией определить простые числа, вывести все простые числа до N - C (СИ)

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

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

Условие: С помощью сложной функции определения опредилить, является ли число простым, найти и вывести на экран все простые числа от 1 до заданного N. Саму программу написал, только вот не знаю, как вывести все простые числа... Дайте подсказку или дополните код пожалуйста.
#include <stdio.h>
#include <conio.h>
 
int Simple ( int N );
 
//--- программа ---
 
void main()
{
int     N;
printf ( "\n Vvedite chislo ");
scanf ( "%d", &N );
if  ( Simple (N) )
  printf ( "Chislo %d - prost\n", N );
else printf ( "Chislo %d - ne prost\n", N );
getch();
}
 
//--- функция ---
 
int Simple ( int N )
{
for ( int i = 2; i*i <= N; i ++ )
if ( N % i ==  0 ) return 0;
return 1;
}

Решение задачи: «Функцией определить простые числа, вывести все простые числа до N»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define MAX 1000
int Simple ( int N );
 
//--- ïðîãðГ*ììГ* ---
 
int main()
{
int i;
printf("1\n2\n");
for(i=3; i<MAX; i+=2) if (Simple(i)) printf("%d\n", i);
getch();
}
 
//--- ГґГіГ*êöèÿ ---
 
int Simple ( int N )
{
int i;
for (i = 2; i*i <= N; i ++)
if ( N % i ==  0 ) return 0;
return 1;
}

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

int main() - функция main, она запускается при запуске программы printf(1\n2\n) - выводит на экран число 1, затем число 2 for(i=3; i<MAX; i+=2) if (Simple(i)) printf(%d\n, i); - начинается цикл, который проходит по всем числам от 3 до MAX (нечётные числа), если число простое (функция Simple возвращает 1), то оно выводится на экран getch() - функция для приостановки выполнения программы до нажатия клавиши int Simple ( int N ) - функция Simple, она принимает число N и проверяет, является ли оно простым. Если да, то возвращает 1, если нет, то возвращает 0 for (i = 2; ii <= N; i ++) - начинается цикл, который проходит по всем числам от 2 до корня из N if ( N % i ==  0 ) return 0; - если число N делится без остатка на текущее значение i, то функция возвращает 0, то есть число N не является простым return 1; - если цикл закончился и число N не было делится без остатка ни на одно число, то функция возвращает 1, то есть число N является простым ГґГіГ*êöèÿ - это просто комментарий, он не выполняет никаких действий в коде

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы