Функцией определить простые числа, вывести все простые числа до N - C (СИ)
Формулировка задачи:
#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»
#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 является простым
ГґГіГ*ГЄГ¶ГЁГї - это просто комментарий, он не выполняет никаких действий в коде