Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Mysia2
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 39
1

Программа выводит простые числа. Прокомментировать код

21.01.2015, 22:02. Просмотров 390. Ответов 3
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
#define MAX 1000
int Simple ( int N );
 
 
int main()
{
int i;
printf("1\n 2\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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2015, 22:02
Ответы с готовыми решениями:

Написать программу с функцией которая выводит все простые числа до заданного m
Задача такова: написать программу с функцией которая выводит все простые числа...

Программа которая находит все простые числа из интервала в С(Си)
Помогите пожалуйста написать эту программу, я пытался сам, но у меня выводит...

Функцией определить простые числа, вывести все простые числа до N
Условие: С помощью сложной функции определения опредилить, является ли число...

Программа выводит неправильные числа
короче у меня вопрос: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void...

Программа выводит разные числа
Доброго времени суток! Только поступив в ВУЗ, столкнулся с проблемой на первой...

3
OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
21.01.2015, 22:41 2
for(x;y;z) - цикл
x-первое значение
y-условие, при результате которого true(истина) работа программы продолжается внутри цикла, в данном случае выполняется оператор if(если-т.е. если то что стоит в скобках после if правда, то выполняем первый(в данном случает оператор return 0 в ф-ии Simple, если ложь - то return 1; )
z- это каким будет i в следующий раз, т.е. мы к предыдущему значению i что-то прибавляем или отнимаем как угодно.
запись if (Simple(i)) printf("%d\n", i); означает, что если ф-я Simple дает 1, что соответствует истине, то мы печатаем на экране число, если 0(ложь)- то не печатаем а ищем дальше простые числа.
0
Mysia2
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 39
21.01.2015, 22:50  [ТС] 3
OlegKri, это понятно)
меня интересует как обнаруживаются простые числа с этого момента for (i = 2; i*i <= N; i ++)
0
OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
21.01.2015, 23:09 4
for (i = 2; i*i <= N; i ++)
if ( N % i == 0 ) return 0;
return 1;
простое число-это число которое делится на 1 и на себя
есть определенные алгоритмы нахождения начального списка простых чисел вплоть до некоторого значения. Решето каких-то умных мужиков) здесь какой-то из этих алгоритмов. с допущениями определенными, сделанными из наблюдений) очевидно что четными быть не могут простые числа, за исключением 2. вот поэтому 1 и 2 сами выводят. с 3 начинают искать) для прояснения советую прогуглить алгоритмы поиска начальных простых чисел.
извини если не пролил ясности))
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 23:09

Программа выводит непонятные числа
Почему программа выводит какие то непонятные цифры? #include &lt;stdio.h&gt; main...

Программа выводит не правильно числа
Вводится последовательность из целых чисел, которая заканчивается нулем. Найти...

Программа выводит огромные отрицательные числа
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru