Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Есть программа на Си, которая ищет и выводит на экран первые сто простых чисел, объясните что и зачем в ней используется

Простой смертный Знаток (316), закрыт 4 года назад
Есть программа на Си, которая ищет и выводит на экран первые сто простых чисел. Объясните как она работает, пожалуйста ( т. е прокомментируйте строчки или опишите что и зачем в ней используется).
#include
int main()
{
int a = -1, i, d, max=0;
for (i = 2; max < 100; i++)
{
if (i == 1)
a = 0;
for (d=2; d*d <= i; d++)
{
if (i%d == 0)
{
a = 0;
break;
}
}
if (a < 0)
a = 1;
if (a)
{
max++;
printf("%3d - %d\n", max, i);
}
a = -1;
}
system ("pause");
return 0;
}
Заранее спасибо
Лучший ответ
Голова Робота Просветленный (36328) 4 года назад
Код плохо написан, есть лишние строки. Я переделал в более понятный вид.
Кто знает Си, тот разберётся. Кто не знает, тому и не надо.

int main(void)
{
int max = 0;
for (int i = 2; max < 100; i++)
{
int a = 1;
for (int d = 2; d*d <= i; d++)
{
if (i%d == 0)
{
a = 0;
break;
}
}
if (a)
{
max++;
printf("%3d - %d\n", max, i);
}
}
return 0;
}
Простой смертныйЗнаток (316) 4 года назад
Спасибо, так действительно лучше
Остальные ответы
Victor Surozhtsev Просветленный (34297) 4 года назад
У меня она вообще никак не работает, а почему - спрашивай у того, кто её писáл! У Робота зато, почему-то, всё прекрасно работает, а кто будет говорить, что-де, мол, "алгоритм неоптимальный да неэффективный" - пусть тоже лесом идёт, потому что для первых ста простых чисел - всё нормально и эффективно!..
Хлебушек Оракул (74649) 4 года назад
Существует сайт http://pythontutor.com/c.html#mode=edit
Вбей туда код, исправь ошибки и тыкай визуализировать, и ходи по шагам.
Простой смертныйЗнаток (316) 4 года назад
Очень полезно, спасибо
Похожие вопросы